PHP乱码问题

来源:互联网 发布:单片机恒温控制系统 编辑:程序博客网 时间:2024/06/16 10:01

都说没有遇到过乱码问题的PHP程序员都不能算是入门的PHPer。用惯了UTF-8的我今天偶遇gb2312,才发现自己还不算入门。

事情是这样的,我发现down下来的代码,运行之后是乱码,更改
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
完全没用。


  1. 可能是PHP解析出了问题
    上面的更改没用是正常的,这只能控制静态页,而我们乱码的根本原因是PHP解析错误。在PHP的首行加上header(“Content-Type:text/html;charset=gb2312”),果不其然,问题解决了。
  2. 这一个文件的乱码解决了,我其他文件怎么办?
    是啊,这只能解决一个文件上的问题,如若是整个项目,我不至于每一个都去加上吧。Google一下…嗯,有了,说是控制所有文件的编码在Apache的httpd.conf文件中,找到AddDefaultCharset xxx(xxx是编码格式),然后把注释去了。问题又来了,由于Apache升级导致这项找不到,我选择添加了一行,重启,没有卵用(你凭什么没有任何依据去私自添加)。
    找人问吧,人家直接打开了php.ini搜索了charset,找到默认字符设置,完事了。

总结

我是不是在Apache那里被误导了,它是如何影响到PHP的编码的?修改配置影响的是静态页的编码吧。search,真的是。

当时参考的blog是这一篇——解决乱码,写的还是挺全的,尤其排序那里更能说明我的总结 。
最终的问题还是,统一编码。

0 0
原创粉丝点击