我的服务器配置为默认将 Content-type charse header 设置为“ISO-8859-1”,所以我被告知在我的根文件夹中创建一个 .htaccess ,以将字符集更改为 UTF-8 :
AddDefaultCharset utf-8
根文件夹中一切正常,内容类型已更改,但这不适用于 PHP 文件,仅适用于 HTML .. 为什么?我也试过这个:
AddCharset UTF-8 .php
但是也不行。。
尽管这个问题很老而且可能早就被遗忘了,但我找到了它,其他人可能会,所以这是我的两便士价值:
根据apache.org 的文档,规定的默认值为:
…添加到响应当且仅当响应的内容类型是text/plain或text/html
因此,首先应该检查PHP输出是否正确传递Content-Type
了text/html
.
其次,确保所有被显式发送并声明自己以UTF-8编码的文件实际上都是!
我意识到这对大多数人来说可能是一个“duh”,但仍然如此。
至于AddCharset
失败:是的!我还没有弄清楚为什么,但是
添加AddDefaultCharset
并确保考虑到其他考虑因素已经奏效了。
...如果AddDefaultCharset
不适用于PHPtext/html
文件,是因为出于某种原因,它们没有被拾取为输出,可能是因为AddType
同一文件或父.htaccess
文件中的语句。
您是否尝试在您的php.ini
:
default_charset = "utf-8"