【发布时间】: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
如果httpd.conf、php.ini、.htaccess等中没有指定字符集,那么apache服务器/php使用的默认字符集是什么?
当响应标头不包含任何字符集信息时,浏览器认为它是 ISO-8859-1,但我找不到任何确认 apache 服务器/php 实际上使用 ISO-8859-1 编码发送数据回应。
谢谢
【问题讨论】:
标签: php apache character-encoding iso-8859-1
default_charset 的默认值为"iso-8859-1",适用于 PHP 提供的所有页面。
对于 Apache,text 和 html 的默认字符集由 AddDefaultCharset 强制要求,它也有默认的 "iso-8859-1"。
【讨论】:
我不完全确定,但 Apache 不产生输出,它只是提供它。所以这一切都取决于资源的编码方式,而不是由 Apache 来编码它们。
即使您指定了一个字符集,它也只是对浏览器的一个提示。您可以通过 php 或通过 Apache 设置 utf-8 字符集,但如果提供的资源使用不同的编码,您的浏览器只会显示错误的编码数据。
如果没有设置字符集,那么您的浏览器必须猜测(或使用默认字符集)。
【讨论】: