Apache 默认字符集问题

一个 AsciiDoc 转换后的网页(UTF-8 编码)直接在电脑上打开正常,但是放到某 web server(Apache) 上却显示乱码,手工选择为 utf-8 编码才显示正常。想可能是 http 包头的问题,抓包一看果然是 gb2312 。 找到 httpd.conf 文件,果然配置 apache 的时候通过 AddDefaultCharset 指令设置 apache 的默认字符集为 gb2312。这时候浏览器请求到的网页 http 包头中就会使用该值来指定字符集,而浏览器会根据该值决定网页的字符集——这时候网页的 html 中通过 meta 指定字符集会被忽略。在 ie6, ie7, firefox 下验证了都是如此。 指令说明参见 http://httpd.apache.org/docs/2.0/mod/core.html#adddefaultcharset 。 中文版 http://man.chinaunix.net/newsoft/ApacheManual/mod/core.html#adddefaultcharset 。

你可能感兴趣的:(apache,html,Web,浏览器,firefox)