标题:肖飞教你在MYSQL5.5只支持utf8环境下正常使用GBK网站 出处:BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog 时间:Wed, 07 Jul 2010 15:18:54 +0000 作者:ArthurXF 地址:http://www.bizeway.net/read.php/562.htm 内容:   我们公司新配置了一台服务器,使用的MYSQL5.5,当时并没考虑到会有GBK的网站放上来,本来UTF8网站都运行正常,后来有两台服务器合并,把老服务器拿回来了,老服务器上的网站全部放到新服务器上,这样就麻烦大了。老网站大量使用的是GBK版本,在新服务器上全部乱码。   执行时还会报GBK字符集不支持的错误,查看了一下字符集,MYSQL5.5确实默认情况下不支持GBK,那只好重新装了。   把MYSQL,deinstall后,执行make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_COLLATION=gbk_chinese_ci BUILD_STATIC=yes install clean安装完成。重启后,不再报错了,但是读取出来的数据全部乱码,转成utf8浏览时正常。   程序中加入set names gbk,仍然乱码。试了N种都没解决。   最后把数据库拉下来,全部替换成utf8的字符集并转为utf8保存文件。上传服务器之后,程序设定set names gbk,就可以正常显示了。   估计问题在于MYSQL5.5还是以utf8或者是我们卸载不干净,反正最底层还是以utf8为准,GBK的数据在MYSQL5.5里就是乱码,当我们转数据为UTF8的时候,MYSQL5.5认了编码,程序上设定显示按照GBK,MYSQL会自动将utf8转码为GBK显示。这样就正常了。   我肖飞将我的经历奉贤给大家,希望大家少走弯路! Generated by Bo-blog 2.0.3 sp1