背景:
Mysql是5.0版本,数据库的编码是UTF-8;PHP前台页面使用的编码格式是GB2312。
将数据导库后,用PHP读出来竟全是问号,乱码一片,只好GOOGLE(感谢啊,涕零了都!)。
解决方法:
在PHP连接数据库的语句:mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK。代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");
另:以PHPCMS系统为例,连接数据库的文件是/include/common.inc.php;
连接数据库的代码:$db->connect(DB_HOST, DB_USER, DB_PW, DB_NAME, DB_PCONNECT, DB_CHARSET);
因此解决代码的问题既是在这行代码的下面添加mysql_query("SET NAMES 'GBK'");即可解决问题。
参考:http://www.williamlong.info/archives/475.html