2013-04-09 58 views
3

当在httpd.conf或php.ini或.htaccess等中未指定字符集时,那么apache服务器/ php使用的默认字符集是什么?如何知道apache/php的默认字符集

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

感谢

+0

http://stackoverflow.com/questions/15902284/how-to-set-the-default-charset-in-php – 2013-04-09 12:52:29

回答

2

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

对于Apache,文本和html的默认字符集由AddDefaultCharset授权,其默认值为"iso-8859-1"

2

我不能完全肯定,但Apache不产生输出,它只是供应它。所以这一切都取决于资源如何编码,这不是由Apache来编码它们。

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

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

+0

不完全正确。虽然Apache会(如果没有另外配置)发送完整的文件(因为任何http服务器)需要生成一些http头,它可以包含各种信息,包括字符编码。 – gorn 2015-05-07 20:31:33