在Apache服务器中使用gb2312编码 - Apache - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > Apache

在Apache服务器中使用gb2312编码

发布时间:2013-10-18 来源:服务器之家

最近开发Linux下的网站,发现Apache2.0在语言支持上有一个问题,打开中文网页(gb2312)时会显示乱码,每次都要手动选择编码,而utf-8就不会,因为这跟apache默认的配置有关。
打开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)的网页。