免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2361 | 回复: 0
打印 上一主题 下一主题

PHP+Mysql的乱码完美解决方案 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-01 09:51 |只看该作者 |倒序浏览
和很多朋友一样,在写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之类的工具做网页。

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  2. <meta http-equiv="Content-Language" content="utf-8" />   
复制代码


4.php程序中的header重定向

header("content-type:text/html; charset=xxx");

写得有点仓促,希望大家指正和补充。

以上文章出自个人博客:blog.airincity.com,转载请注明出处即可

[ 本帖最后由 Skyverd 于 2007-8-1 10:01 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP