专注于WEB技术的IT博客

将数据库中文乱码解决方法进行到底(2)

时间:2012-10-26分类: Mysql浏览:6363
分享到:

     在前文的《将数据库中文乱码解决方法进行到底》,我已经作好了供测试用的数据,接下来是测试的数据记录。


运行环境:Apache/2.2.17 (Win32), PHP/5.3.3,mysql/mysql5.5.8


一、保持下面条件1、2不变,只改变条件(3)的编码



   1、数据表的字符集:CHARSET=utf8


   2、php文件编码:gb2312


   3、mysql_query("set names 字符编码")


   3.1、mysql_query("set names gbk");显示乱码如图(1)

        图(1)

   3.2、mysql_query("set names gb2312");显示乱码如图(1)


   3.3、mysql_query("set names utf8");显示正常如图(2):

       图(2):


   3.4  不执行mysql_query("set names 字符编码")语句,显示乱码如图(3)

       图(3):
从第一轮的测试结果可以知道,数据表的字符集设置为CHARSET=utf8,并且使用的PHP文件的编码为gb2312,这时为了避免中文乱码,在存入数据前记得执行mysql_query("set names utf8")语句。


二、保持下面条件1、2不变,只改变条件(3)的编码


   1、数据表的字符集:CHARSET=utf8


   2、php文件编码:utf-8


   3、mysql_query("set names 字符编码")


   3.1、mysql_query("set names gbk");显示乱码如图(1)


   3.2、mysql_query("set names gb2312");显示乱码如图(4)

       图(4):


   3.3、mysql_query("set names utf8");显示正常如图(2)



   3.4  不执行mysql_query("set names 字符编码")语句,显示乱码图(3)

     
第二轮测试和第一轮不同之处就是把PHP文件的编码改为utf-8,测试结果和前面相同。似乎PHP文件的编码不会影响中文乱码,当然这只是初步结果,后面还继续。


三、保持下面条件1、2不变,只改变条件(3)的编码



   1、数据表的字符集:CHARSET=gbk



   2、php文件编码:gb2312


   3、mysql_query("set names 字符编码")


   3.1、mysql_query("set names gbk");显示乱码如图(1)


   3.2、mysql_query("set names gb2312");显示乱码图(3)


   3.3、mysql_query("set names utf8");中文正常显示如图(2)


   3.4  不执行mysql_query("set names 字符编码")语句,显示乱码如图(5)

      图(5)


第三轮字符集编码和PHP文件编码都改了,对比前两轮,可知,在存入数据前执行mysql_query("set names utf8"),中文总是正常显示,PHP文件编码对乱码好像真的没有影响。

待继。。。



猜你喜欢
从一个错误语句看Mysql 数据库命名规范
mysql的唯一索引UNIQUE
mysql的常规索引index
mysql 数据表中主键(primary key)的操作
将数据库中文乱码解决方法进行到底
标签 : mysql 乱码解决
除非注明,本文首发网志博客,欢迎转载!转载请注明本文地址:http://w3note.com/web/35.html,谢谢。
  • 评论
  • 赞助本站