1

我的服务器配置为默认将 Content-type charse header 设置为“ISO-8859-1”,所以我被告知在我的根文件夹中创建一个 .htaccess ,以将字符集更改为 UTF-8 :

AddDefaultCharset utf-8

根文件夹中一切正常,内容类型已更改,但这不适用于 PHP 文件,仅适用于 HTML .. 为什么?我也试过这个:

AddCharset UTF-8 .php

但是也不行。。

4

2 回答 2

1

刚刚处理这个问题

尽管这个问题很老而且可能早就被遗忘了,但我找到了它,其他人可能会,所以这是我的两便士价值:

根据apache.org 的文档,规定的默认值为:

…添加到响应当且仅当响应的内容类型是text/plaintext/html

因此,首先应该检查PHP输出是否正确传递Content-Typetext/html.

其次,确保所有被显式发送并声明自己以UTF-8编码的文件实际上都是!
我意识到这对大多数人来说可能是一个“duh”,但仍然如此。

至于AddCharset失败:是的我还没有弄清楚为什么,但是
添加AddDefaultCharset并确保考虑到其他考虑因素已经奏效了。

我对提问者的猜测...

...如果AddDefaultCharset不适用于PHPtext/html文件,是因为出于某种原因,它们没有被拾取为输出,可能是因为AddType同一文件或父.htaccess文件中的语句。

于 2015-04-25T21:24:05.880 回答
-1

您是否尝试在您的php.ini:

default_charset = "utf-8"
于 2013-02-18T11:29:34.173 回答