【问题标题】:Change Charset Response Header for Apache Indexes更改 Apache 索引的字符集响应标头
【发布时间】:2016-02-04 16:20:15
【问题描述】:

我正在尝试在我的本地 apache 服务器上设置 windex 以更改自动生成的文件索引;我的一些文件和文件夹包含 utf-8 字符,例如 »。

这应该不是问题,因为 html 标头的字符集设置为 utf-8。 php 文件已编码为utf-8。我什至在我的 httpd.conf 中为 Apache 服务器设置了“AddDefaultCharset”为关闭,但是当我尝试加载任何页面时,我在响应标头中得到“Content-Type:text/html;charset=ISO-8859-1”。

是什么原因造成的,我该如何阻止它?

【问题讨论】:

    标签: apache utf-8 character-encoding indexing


    【解决方案1】:

    原来 Apache 有一个单独的设置来编码它生成的索引。您可以通过将此行添加到 .htaccess 文件来设置索引的字符集,该文件位于将生成索引的目录中:

    IndexOptions Charset=UTF-8
    

    这已经帮我解决了!

    【讨论】:

    • 谢谢,这给了我解决这个问题所需的提示!在将服务器从 CentOS 6 上的 apache 2.2 迁移到 CentOs 7 上的 2.4 时,我遇到了同样的问题。旧服务器的 httpd.conf 中有 IndexOptions Charset=UTF-8(我猜是默认情况下?)。 CentOs 7 上的新 apache 2.4 缺少 conf.d/autoindex.conf 中的字符集选项。现在我已经添加了它!
    【解决方案2】:

    AddDefaultCharset 用于响应头的内容类型为 text/plain 或 text/html
    在 .htaccess 或 httpd.conf 你可以添加:

    AddDefaultCharset utf-8
    

    AddCharset 是为任何给定的文件扩展名定义字符集。

    您可以在 .htaccess 或 httpd.conf 中添加:

    AddCharset utf-8 .html .css .php .txt .js
    

    在 PHP 中(在输出任何页面内容之前):

    <?php
    header('Content-Type: text/html; charset=utf-8'); 
    

    如果您必须使用 HTML 元标记(无法编辑配置或 htaccess),则它必须是 &lt;head&gt; 之后的第一件事
    参考:Best Practice: Get your HEAD in order

    <head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
    

    【讨论】:

      【解决方案3】:

      对于 html
      在您的 &lt;head&gt; &lt;/head&gt; 标签之间添加以下内容:

      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      

      对于 xhtml
      在您的 &lt;head&gt; &lt;/head&gt; 标签之间添加以下内容:

      <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
      

      开始你的 php 文件:

      <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" ?>
      

      【讨论】:

      • 这就是我在标题中使用 html 的意思,我已经为 utf-8 设置了元标记。我认为问题与 Apache 服务器有关,因为在浏览器查看我的任何 html 或 php 之前,字符集已在响应标头中设置。
      猜你喜欢
      • 2013-11-14
      • 1970-01-01
      • 2017-01-10
      • 2014-04-14
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2014-09-06
      • 2011-06-18
      相关资源
      最近更新 更多