htaccess AddDefaultCharset不使用PHP文件

时间:2012-11-14 16:32:29

标签: php apache .htaccess utf-8

我的服务器配置为默认情况下将Content-type charse标头设置为“ISO-8859-1”,因此我被告知要在我的根文件夹中使用以下内容创建.htaccess,以便将charset更改为UTF-8:

AddDefaultCharset utf-8

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

AddCharset UTF-8 .php

但也不会工作..

2 个答案:

答案 0 :(得分:1)

刚刚处理过这个问题

即使这个问题很老,可能很久就被遗忘了,但我找到了,其他人可能会这样,所以我的两个便士值得:

根据apache.org's documentation,所述默认值为:

  

...当且仅当回复的内容类型为 text / plain text / html

时才添加回复

因此,首先应该检查 PHP 输出是否与Content-Type text/html一起正确传递。

其次,确保所有明确发送的文件声明自己在 UTF-8 中编码,实际上是!
我意识到对于大多数人来说可能是" duh" ,但仍然。

至于AddCharset失败:是!我还没弄明白为什么,但是,
添加AddDefaultCharset并确保其他考虑因素得到了解决。

我对提问者的猜测......

...如果AddDefaultCharset没有为 PHP 文件工作,那么由于某种原因,他们没有被选为输出text/html ,可能是因为同一个或父AddType文件中的.htaccess语句。

答案 1 :(得分:-1)

您是否尝试在php.ini中添加以下内容:

default_charset = "utf-8"