重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、页面代码里面要设置charset=utf-8
创新互联公司技术团队10余年来致力于为客户提供成都网站制作、成都网站建设、外贸营销网站建设、成都品牌网站建设、成都营销网站建设、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了数千家网站,包括各类中小企业、企事单位、高校等机构单位。
2、保存页面文件时要编码格式为utf-8
3、数据库有关的表、字段、的编码为utf8-general-ci
还不对的话,看下面。
我是这样解决的:
$dbh = new PDO('mysql:host=localhost;dbname=test','root','');
$dbh-exec("SET NAMES 'utf8';");
或者没用PDO
mysql_query("set names 'utf-8'");
用phpmyadmin添加mysql数据库,然后用php操作数据库出现乱码的解决办法:
1:确认phpmyadmin用的mysql字符集为utf-8
unicode(utf8);mysql连接校对为utf8_general_ci,language为中文-chinese
simplified
2:确认每个数据表的“整理为”utf8_general_ci;
3:在php连接mysql数据库后加个语句来指定数据库的字符集,
例如:$conn=mysql_connect("localhost","root","你的密码");
//连接数据库
mysql_query("set
name
'utf8'");
编码错误,你可以在连接数据库的文件里例如 db_config.php里面在连接数据库的代码下面加上一句@mysql_query("SET NAMES GBK"); GBK代表编码 根据你的需求修改一下提交试试应该就可以解决了 希望能帮到你
查询出来是不是乱码?这个是数据库的字符集同你提交页面的字符集不一致造成的 你可以指定字符集嘛改成?php
header("Content-Type: text/html; charset=utf-8");
if ($_GET['act'] == 'insert') {
error_reporting(0); //禁止错误输出
$con = mysql_connect('localhost:3306', 'root', '1234'); //创建数据库连
mysql_select_db("taozi", $con);
if (!$con) { //如果失败
die ('建立连接失败:' . mysql_error()); //显示出错信息
}
mysql_select_db("taozi", $con);
mysql_query("set names utf-8");
如果这样还是失败建议你看看数据库的字符集是不是utf-8的一般这都是由于数据库的字符集不是utf-8造成的
1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了
解决方法:选择'UTF8'或者'gb2312',这样客户浏览器会自动选择并出现正确的中文显示。注意:'UTF8'或者'gb2312'都可以正确显示中文的。
2.数据库MySQL中的编码类型不正确。
解决方法:创建数据库的时候,MySQL
字符集选择'UTF8',MySQL
连接校对选择utf8_general_ci,这样创建的数据库用来存储中文肯定没有问题,
否则,你的中文首先在MySQL中就是乱码,更不要期望它会给你在PHP页面中显示正确。
3.与平时的脚本编辑环境有关。比如,有些内容是自己用word写的,有些是用记事本写的,有些用editplus、ultraplus等文本编辑器。有时候就直接在DW中写中文了,
解决方法:尽量用同一种编辑器。如果是拷贝来得既有的内容,建议用ultraplus中的编码转换功能把它转换成utf8或者gb2312。
到底转换成什么类型并不重要,关键要求你的PHP
WEB应用程序中的编码要一致就行。
4.编程访问
MySQL时,建议添加一行代码:mysql_query("SET
NAMES
'GBK'");
PHP连接ACC是一个比较冷门的数据结构。一般使用php搭配Mysql使用。
access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码。
解决方法是:使用iconv转换
一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:
function enc($c){return iconv('gbk','utf-8',$c);}
二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。