PHP+Mysql的乱码完美解决方案(转载)
时间:2007-08-03 来源:chenqiubite
和很多朋友一样,在写PHP代码的时候,或者移植别人写过的代码时,经常会出现乱码...很头痛!
后来,上网仔细查了下文章,研究了好半天,同时,策划写了个全套产品,才把字符集的问题搞定了!总结一下,自己的方法!
1.数据库尽量使用utf8存储(修改/etc/my.cnf,在[mysqld]段加上default-character-set=utf8)
(已有的数据库,先转成UTF8格式)
2.PHP程序在查询数据库之前,执行mysql_query(“set names xxxx”);其中xxxx是你网页的编码(charset=xxxx),如果网页中charset=utf8,则xxxx=utf8,如果网页中 charset=gb2312,则xxxx=gb2312,如果网页中的charset=ipaddr,则xxxx=ipaddr (开个玩笑,没这编码)
几乎所有WEB程序,都有一段连接数据库的公共代码,放在一个文件里,在这文件里,加入mysql_query(“set names”)就可以了。
3.PHPMyAdmin不需要做改动。
4.需要注意的是,为保证网页实际编码(Windows保存对话框里的编码)和他声明的编码(charset=?)是一致的,请用DW之类的工具做网页。
[Copy to clipboard]
[ - ]
CODE:
4.php程序中的header重定向
header("content-type:text/html; charset=xxx");
写得有点仓促,希望大家指正和补充。
转载:blog.airincity.com
后来,上网仔细查了下文章,研究了好半天,同时,策划写了个全套产品,才把字符集的问题搞定了!总结一下,自己的方法!
1.数据库尽量使用utf8存储(修改/etc/my.cnf,在[mysqld]段加上default-character-set=utf8)
(已有的数据库,先转成UTF8格式)
2.PHP程序在查询数据库之前,执行mysql_query(“set names xxxx”);其中xxxx是你网页的编码(charset=xxxx),如果网页中charset=utf8,则xxxx=utf8,如果网页中 charset=gb2312,则xxxx=gb2312,如果网页中的charset=ipaddr,则xxxx=ipaddr (开个玩笑,没这编码)
几乎所有WEB程序,都有一段连接数据库的公共代码,放在一个文件里,在这文件里,加入mysql_query(“set names”)就可以了。
3.PHPMyAdmin不需要做改动。
4.需要注意的是,为保证网页实际编码(Windows保存对话框里的编码)和他声明的编码(charset=?)是一致的,请用DW之类的工具做网页。
[Copy to clipboard]
[ - ]
CODE:
4.php程序中的header重定向
header("content-type:text/html; charset=xxx");
写得有点仓促,希望大家指正和补充。
转载:blog.airincity.com
相关阅读 更多 +
排行榜 更多 +