apache服务器使用时网页乱码问题

发表时间:2011-06-08 8:29 | 分类:Apache | 浏览:370 次

在apache的配置文件httpd.conf中,或许我们会用到
AddDefaultCharset UTF-8
来设置所有主机或者某虚拟主机的字符编码。
这个设置会对本主机内的所有文件产生影响, 并且它的优先级高于主机网页文件内的:
<META http-equiv=Content-Type content="text/html; charset=gbk">
也就是说,如果由于某种原因,httpd.conf中设置了本站的字符集为utf-8
而你的网页字符集全都是gbk的,
即使你在网页中指明了charset=gbk
那么用浏览器打开你的网站,仍然会显示乱码。

几种情况:
1、页面没有指定charset , Apache配置defaultcharset gbk , 页面文件编码是utf-8。执行结果是页面乱码。这个几乎是肯定的,在页面没有meta指明charset,而服务器的 defaultcharset 又没有被注释掉,可以肯定页面是会乱码的,这个时候服务器的设置生效;
2、页面指定charset为utf-8, Apache配置defaultcharset gbk. 页面文件是utf-8。执行结果是页面乱码。这个就验证了当服务器的defaultcharset打开时,会忽略掉页面的编码设置;
3、PHP header申明 charset 为 utf8, Apache配置defaultcharst gbk,页面文件编码是utf8。执行结果是页面正常。这个说明header中指定的信息的优先级要高于服务器及浏览器的设置;
4、Apache设置DefaultCharset off。页面显示正常。

解决办法:
1 删除httpd.conf中的AddDefaultCharset
2 修改httpd.conf中的AddDefaultCharset为gbk
3 如果你使用的是虚拟主机,没有权限修改httpd.conf,那么可以在站点根目录里面创建一个.htaccess文件,写入以下内容:AddDefaultCharset off或者AddDefaultCharset GBK来解决

本文标签:

本文链接:http://www.sijitao.net/440.html

本文版权虫虫开源所有,欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 

一键脚本 SSH攻击 IP查询 博客历程 留言本 文章归档 网站地图 谷歌地图
托管于阿里云&七牛云. 已加入博客联盟. 浙ICP备13025236号.
Copyright © 2010-2016 虫虫开源 All Rights Reserved.