hi,
我先说下我的情况。php的新手。
----现象
输出的页面中,我已经添加了<meta charset="UTF-8">,我也在查询mysql的时候,添加了
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
有的中文可以显示,有的不能。----乱码显示的过程和代码
我的phpmyadmin中数据库和text字段,都是用 utf8_unicode_ci进行设置。我手动通过phpmyadmin在数据库添加的中文,然后直接执行
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
$rs = $db->query("SELECT * FROM book");
显示出乱码。----正常显示的代码和意外的结果
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
$rs2 =$db->exec("INSERT INTO `lalabook`.`book` (`bookname`, `bookdes`) VALUES ('小兵', '兵小')");
$rs = $db->query("SELECT * FROM book");
可以正常的显示出我插入的数据。但是有个问题是,我在通过phpmyadmin查看我插入的数据时,显示的时乱码。
----
所以我不清楚这个时什么原因造成的,是不是我以后插入数据都要通过代码。不能再用phpmyadmin插入了
我先说下我的情况。php的新手。
----现象
输出的页面中,我已经添加了<meta charset="UTF-8">,我也在查询mysql的时候,添加了
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
有的中文可以显示,有的不能。----乱码显示的过程和代码
我的phpmyadmin中数据库和text字段,都是用 utf8_unicode_ci进行设置。我手动通过phpmyadmin在数据库添加的中文,然后直接执行
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
$rs = $db->query("SELECT * FROM book");
显示出乱码。----正常显示的代码和意外的结果
mysql_query("set character set utf8");
mysql_query("SET NAMES 'UTF8'");
$rs2 =$db->exec("INSERT INTO `lalabook`.`book` (`bookname`, `bookdes`) VALUES ('小兵', '兵小')");
$rs = $db->query("SELECT * FROM book");
可以正常的显示出我插入的数据。但是有个问题是,我在通过phpmyadmin查看我插入的数据时,显示的时乱码。
----
所以我不清楚这个时什么原因造成的,是不是我以后插入数据都要通过代码。不能再用phpmyadmin插入了
phpmyadmin也是需要设置链接编码的.
select * from book;
----结果
bookname bookdes
哥哥 哥哥弟弟
弟弟 弟弟哥哥弟弟
123 123213
454 45644
bing bggg
å°å…µ å…µå°---其中
哥哥 哥哥弟弟
弟弟 弟弟哥哥弟弟
这两条是我手动在phpmyadmin插入的,通过php查询结果是乱码
å°å…µ å…µå° 是php代码插入的,插入的数据是‘小兵,小兵’,通过php查询结果是'小兵,小兵'----我是完全统一的utf8. 难道我插入的时候设置的 mysql_query("SET NAMES 'UTF8'"); UTF8是不同的编码吗?
我phpmyadmin中,库和table表结构中都是用 utf8_unicode_ci。
不只是表要通一,要统一的总共有四处
一是:数据库类型,其中包括,数据库,表,字段三处都要统一,可以检查一下
二是:文件的编码类型,你若用dw或editplus可以查看页面编码,不同需修改
三是:访问数据库时的设置既set NAMES utf8;
四是:浏览器显示方式,既<meta charset=utf-8>
这四处必需统一,否则可能会出现问题