这个问题专门关于 Apache(在我的情况下为 2.2)在提供默认内部页面时使用的字符集。例如,mod_autoindex目录列表、未找到的ErrorDocument页面、500-Internal Error 页面等。
Apache 目前用于这些内置页面的字符集是 iso-8859-1(见截图)。
这是我的相关 Apache 设置:
# apache2.conf:
AddDefaultCharset utf-8
我的操作系统是 Debian 7,我使用的是默认的 prefork 二进制文件。我在想这些页面上的字符集可能无法更改。或者也许有一个影响默认字符集的编译时选项?
在我的(特定于 Debian 的)/etc/apache2/envvars 中,我获取了我的默认语言环境:
$ cat /etc/apache2/envvars
. /etc/default/locale
$ cat /etc/default/locale
LANG="en_US.UTF-8
$ env | grep LANG
LANG=en_US.UTF-8
使用mod_headers修改 Content-Type 标头对 Apache 的默认内部页面没有影响。
对的,这是可能的。您可以使用 和 的组合来执行此操作,
ErrorDocument
如下所示:<Location>
ForceType