在大家都能够正常显示中文的时候,大家都认为没有问题了。
实际上,问题依然存在。
1.中文的数据以latin1,如果使用PHPMyAdmin看的话是乱码
我来解释一下它的工作方式:
入库:client (utf8,gb2312)=>database (latin1)
出库:database (latin1)=>client (utf8,gb2312)
在这其中会看到个别的中文出现乱码现象,就是因为在编码转换的时候丢失了一部分字符
乱码的显示:
入库 client (gb2312)=>database (latin1)
出库database (latin1)=>client (utf8)
如果在my.cnf里将默认编码改为gb2312,则:
出库database (latin1)=>client (gb2312)
显示正常,但是依然还会有少量的字符丢失
彻底解决的办法就是将编码统一,需要在安装的时候指定charset,并修改my.cnf中的默认编码:
实现:
入库 client (utf8)=>database (utf8)
出库database (utf8)=>client (utf8)
or:
入库 client (gbk)=>database (gbk)
出库database (gbk)=>client (gbk)
or:
入库 client (gb2312)=>database (gb2312)
出库database (gb2312)=>client (gb2312)
如果你喜欢本文,你可以 订阅本站全文Feed,以便获取更多相关的信息。
本文永久链接:http://www.iwalking.org/php-mysql/mysql-utf-gbk-laitin1/
Del.icio.us
收藏到QQ书签
添加到雅虎收藏
Google书签
Baidu搜藏