computer使用的是utf-8编码,显示一切正常。然后log使用了awstats,生成静态文件,放在主站的/log目录。而awstats生成的静态文件,却是gb2312编码的。这样就导致了,如果主站不乱码,访问日志就乱码。访问日志不乱码,主站就乱码。需要注意的是,主站和日志的html中都设置了默认编码。出现乱码的网页,必须要手动指定以下编码才能够正常
发现如果仅仅屏蔽AddDefaultCharset,是依然会有乱码的,而改成AddDefaultCharset off。就一切正常了
这种方式关掉了服务器的默认语言的发送,这样仅凭html文件头中设置的语言来决定网页语言。
很多文章都说通过修改为 AddDefaultCharset GB2312 把缺省语言改成GB2312来解决中文乱码,确实GB2312内码的网页可以正常显示了,但这并非万全之策。因为当你的网页内码不是GB2312,就算你在网页用下面的meta指定了正确的语言,如ISO8859-1,也不会解码为ISO8859-1,因为Apache已经先你一步将GB2312指定为网页的语言了,