打开Apache2的配置文件http.conf,关键在于“AddDefaultCharset ISO-8859-1”这一行,这句的意思是所有的网页显示默认的编码都是“ISO-8859-1”,其他编码要手动选择才能够正常显示,gb2312当然不例外。在这个约束下,即便在写网页程序时用Meta标示指定为GB2312也无济于事,因为apache已经有了明文强制要求。
可以有两种解决办法,取决于需要。
(一)把“AddDefaultCharset ISO-8859-1”改为“AddDefaultCharset GB2312”。
(二)在“AddDefaultCharset ISO-8859-1”注释掉,即:“#AddDefaultCharset ISO-8859-1”,然后下一行添加“AddDefaultCharset off”,意思是关闭默认语言规定,完全根据网页中的Meta来判断使用何种语言。
建议使用第(二)种方法,尤其是网页代码书写较规范的情况(至少有Meta:)),或者有多个虚拟目录,存在不同语言(如GB2312和UTF-8)的网页。