【问题标题】:apache server serves some pages with upper case UTF-8 and others with lower case utf-8 charset headerapache 服务器为某些页面提供大写 UTF-8 和其他小写 utf-8 字符集标头
【发布时间】:2018-08-18 06:19:53
【问题描述】:

我正在使用MAMP 托管php 页面和apache server。在我的根目录中,我有一个 .htaccess 文件来进行一些重写和其他事情,包括将字符集添加到某些文件的标题中,如下所示:

AddCharset UTF-8 .css .js

现在这段代码运行良好,但我遇到了一个非常烦人的问题。

test.php 页面返回一堆 html,其中包含一些 .css.js 文件的链接。现在,当我通过浏览器调用 test.php 文件时,它会在每个文件的响应标头中返回以下内容:

text/html; charset=UTF-8
text/css; charset=utf-8
application/javascript; charset=utf-8

我真的不明白为什么它为 html 返回大写字符集,但对于所有其他内容类型返回小写字符集。这不是一个严重的功能问题,但它确实困扰着我。为了解决这个问题,我尝试在 AddCharset 中包含结尾 .html,如下所示:

AddCharset UTF-8 .css .js .html

但这并没有改变任何东西,它仍然返回用户案例中text/html 文件的字符集。谁能告诉我如何让服务器返回一致的大写或小写字符集标头。

【问题讨论】:

    标签: apache .htaccess http content-type


    【解决方案1】:

    在尝试查看charset 标头的实际设置位置后,我发现PHP 会自动输出一个字符集,因此要将UTF-8 更改为utf-8,您需要更改Charset php.ini 文件。这解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多