Default|0Aero|1Caphy|2LAmour|3Dre-S|4Obsid|5Toba|6NoStyle|100
2007 11月 27
麻烦的MySQL中文乱码问题

麻烦的MySQL中文乱码问题

  以前刚开始使用MySQL 5的时候就遇到过中文乱码问题,不过那时候是使用phpMyAdmin查看数据库的时候中文显示为乱码,PHP程序中读写MySQL都是正常的,我也就没当回事。最近有朋友使用“迷你同学录”的时候发现读写数据库的时候也会出现这种问题,中文都变成“?”了,初步估计是MySQL默认字符集的问题。网上搜索了一下,又研究了一下WordPressDiscuz!的代码,终于找到了解决方法。

  1、PHP程序中连接数据库之后加上SET NAMES语句
...
$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,这样就会省事多了。
  • PiscDong,2007年11月29日 09:57
    是这样的,以前我都是程序文件编码和输出的HTML文件头统一编码,忽略了数据库部分
  • oocoo,2007年11月29日 17:27
    smallfish说的没错,一般这样设定后就没啥问题了
  • kuhanzhu,2007年12月17日 10:19
    楼主最近一定是水区灌多了。
    所以才没注意这个问题。

发表评论

  留言系统暂不可用,请稍后再试。本站留言系统通过限制IP、设置留言时间间隔、自动关闭就日志评论等方式防止垃圾留言,造成不便,请见谅!