![Apache Content-Type 编码在各个目录之间从 UTF-8 更改为 iso-88591](https://linux22.com/image/548122/Apache%20Content-Type%20%E7%BC%96%E7%A0%81%E5%9C%A8%E5%90%84%E4%B8%AA%E7%9B%AE%E5%BD%95%E4%B9%8B%E9%97%B4%E4%BB%8E%20UTF-8%20%E6%9B%B4%E6%94%B9%E4%B8%BA%20iso-88591.png)
我有一个在 Apache 2.2.8(Plesk 9.5.4)上运行的网站
对于此站点,存在一个奇怪的行为,根目录只有 html,并且带有以下标题,非常棒。
http://globalmit.com/
响应标头
日期 2011 年 5 月 4 日星期三 00:57:26 GMT
服务器 Apache
Last-Modified 2011 年 4 月 4 日星期一 21:09:05 GMT
Etag“15013bf-5a7-4a01e2b6efe40”
Accept-Ranges 字节
缓存控制 max-age=300
到期时间 2011 年 5 月 4 日星期三 01:02:26 GMT
变化 Accept-Encoding
Content-Encoding gzip
Content-Length 564
Content-Type text/html;charset=utf-8
然后我在这个目录中安装了 osTickets,并将其翻译成西班牙语,为了使其正常工作,内容类型编码需要设置为 UTF-8,而且效果很好。
http://globalmit.com/tickets/
响应标头
日期:2011 年 5 月 4 日,星期三,01:04:37 GMT
服务器 Apache
到期时间:1981 年 11 月 19 日,星期四,08:52:00 GMT
缓存控制 no-store、no-cache、must-revalidate、post-check=0、pre-check=0
Pragma no-cache
Vary Accept-Encoding
Content-Encoding gzip
Keep-Alive timeout=15、max=100
连接 Keep-Alive
Transfer-Encoding chunked
Content-Type text/html;charset=UTF-8
这个目录的问题就出现了,osTickets 的管理面板,Apache 正在无缘无故地将编码更改为 iso-8859-1。
我曾尝试在 Apache 虚拟目录配置文件中添加 AddDefaultCharset UTF-8,并添加具有相同 AddDefaultCharset UTF-8 的 .htaccess 文件,但没有成功。
http://globalmit.com/tickets/scp/
响应标头
日期:2011 年 5 月 4 日,星期三,01:05:26 GMT
服务器 Apache
到期时间:1981 年 11 月 19 日,星期四,08:52:00 GMT
缓存控制 no-store、no-cache、must-revalidate、post-check=0、pre-check=0
Pragma no-cache
Vary Accept-Encoding
Content-Encoding gzip
Keep-Alive timeout=15、max=100
连接 Keep-Alive
Transfer-Encoding chunked
内容类型文本/html;字符集=iso-8859-1
我怎样才能避免这种奇怪的 Apache 行为?
答案1
Apache 行为正常;但 PHP 行为异常。
不幸的是,由于所有的字符串数据都是由 PHP 生成的,因此您很大程度上依赖于所运行的应用程序是否具有良好的字符集支持 - 检查是否有任何可以在应用程序中修改的设置以启用 UTF-8 支持。