2007
11月
27

麻烦的MySQL中文乱码问题
以前刚开始使用MySQL 5的时候就遇到过中文乱码问题,不过那时候是使用phpMyAdmin查看数据库的时候中文显示为乱码,PHP程序中读写MySQL都是正常的,我也就没当回事。最近有朋友使用“迷你同学录”的时候发现读写数据库的时候也会出现这种问题,中文都变成“?”了,初步估计是MySQL默认字符集的问题。网上搜索了一下,又研究了一下WordPress和Discuz!的代码,终于找到了解决方法。
1、PHP程序中连接数据库之后加上SET NAMES语句
2、建立MySQL数据表的时候也要把数据表设置相应的字符集
1、PHP程序中连接数据库之后加上SET NAMES语句
...
$conn=mysql_connect($hostname_conn, $username_conn, $password_conn);
mysql_query("SET NAMES 'utf8'", $conn);
...
$conn=mysql_connect($hostname_conn, $username_conn, $password_conn);
mysql_query("SET NAMES 'utf8'", $conn);
...
2、建立MySQL数据表的时候也要把数据表设置相应的字符集
create table tablename (...) ENGINE=MyISAM DEFAULT CHARSET=utf8
评论引用
smallfish,2007年11月29日 09:43最好统一编码,比如数据库建立选择UTF8,数据库连接也是UTF8,程序文件编码也采用UTF8,输出的HTML文件头也是UTF8,这样就会省事多了。
oocoo,2007年11月29日 17:27smallfish说的没错,一般这样设定后就没啥问题了
kuhanzhu,2007年12月17日 10:19楼主最近一定是水区灌多了。
所以才没注意这个问题。








