解决L.A.M.P下浏览器无法正确识别编码而导致乱码的方法

现象:

打开一个gbk编码的网页(例如discuz!等),页面文字部分全部乱码,查看页面源代码,在头部可以找到

[code]

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

[/code]

打开浏览器的页面编码,发现是unicode编码,调整编码到gbk页面显示正常,刷新之后页面又回到乱码状态

问题:

这种问题说明了浏览器没有识别页面的meta部分,而是由apache直接告诉了浏览器使用了何种编码,而这种编码又和页面文件的编码不一致而导致了页面的乱码

解决方法:

#su
#gedit /etc/httpd/conf/httpd.conf

找到:AddDefaultCharset XXX(XXX可能是ISO-8859-1、UTF-8等),不管是什么,前面如果没有#的话(有#号还会出这个问题啊 – – !)加个#将这行注释掉,重启apache

#service httpd restart      #每个人的重启方法可能不同,我的是添加到服务的

(原创文章,转载请注明出处,欢迎指正拍砖)

此条目发表在LAMP分类目录。将固定链接加入收藏夹。