Apache 2 / PHP 7将内容类型更改为text / html:charset = iso-8859-1

时间:2017-05-01 23:33:27

标签: php apache character-encoding

我正在尝试让迁移网站上的所有网页都使用iso-8859-1。在httpd.conf中我有AddDefaultCharset On。其中一个页面也有<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />(虽然我理解AddDefaultCharset被忽略)。

然而,在Chrome开发工具中 - &gt;网络 - &gt; faq.html - &gt;标题 - &gt;响应标题我仍然看到Content-Type: text/html; charset=UTF-8。 Apache被配置为让php文件具有.html扩展名,这个文件中有很多PHP(不确定是否重要)。

我还缺少其他东西吗?

1 个答案:

答案 0 :(得分:3)

是的,您还需要在php.ini中设置默认字符集。检查default_charsethttp://php.net/manual/en/ini.core.php#ini.default-charset

自PHP 5.6起默认为UTF8,因此您需要强制它回到iso-8859-1。请注意,它将是全球性的,并将影响在同一设置上运行的任何网站。

如果您只想在自己的网站上进行此更改,最好从php.ini文件更改.htaccess设置,或者在包含的文件中添加类似的内容在所有页面的开头:

header('Content-Type: text/html; charset=iso-8859-1');