【问题标题】:How to know the default charset of apache/php如何知道 apache/php 的默认字符集
【发布时间】:2013-03-31 21:50:43
【问题描述】:

如果httpd.conf、php.ini、.htaccess等中没有指定字符集,那么apache服务器/php使用的默认字符集是什么?

当响应标头不包含任何字符集信息时,浏览器认为它是 ISO-8859-1,但我找不到任何确认 apache 服务器/php 实际上使用 ISO-8859-1 编码发送数据回应。

谢谢

【问题讨论】:

标签: php apache character-encoding iso-8859-1


【解决方案1】:

default_charset 的默认值为"iso-8859-1",适用于 PHP 提供的所有页面。

对于 Apache,text 和 html 的默认字符集由 AddDefaultCharset 强制要求,它也有默认的 "iso-8859-1"

【讨论】:

    【解决方案2】:

    我不完全确定,但 Apache 不产生输出,它只是提供它。所以这一切都取决于资源的编码方式,而不是由 Apache 来编码它们。

    即使您指定了一个字符集,它也只是对浏览器的一个提示。您可以通过 php 或通过 Apache 设置 utf-8 字符集,但如果提供的资源使用不同的编码,您的浏览器只会显示错误的编码数据。

    如果没有设置字符集,那么您的浏览器必须猜测(或使用默认字符集)。

    【讨论】:

    • 不完全正确。尽管 Apache 会(如果未另外配置)完整地发送文件,但它(与任何 http 服务器一样)需要生成一些 http 标头,其中可以包含各种信息,包括字符编码。
    猜你喜欢
    • 2011-12-04
    • 2016-12-31
    • 1970-01-01
    • 2019-02-07
    • 2021-08-03
    • 2017-11-21
    • 2012-02-12
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多