现象:
打开一个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 #每个人的重启方法可能不同,我的是添加到服务的
(原创文章,转载请注明出处,欢迎指正拍砖)