Apache乱码与AddDefaultCharset设置

在安装了CentOS yum的Apache中,要添加到响应的媒体类型的字符集参数设置为UTF-8,因此即使元标记描述了UTF-8以外的字符集,浏览器也会忽略它Web应用程序和HMTL都是乱码。

因为乱码的原因是AddDefaultCharset指令设置为UTF-8 ,所以注释掉自己httpd.conf描述AddDefaultCharset的设置。

vi /etc/httpd/conf/httpd.conf

---------------------------

#AddDefaultCharset UTF-8

设置为中文GB2312
AddDefaultCharset GB2312

---------------------------

AddDefaultCharset其自身的默认值与Off通过注释掉Off设置相同。
Off如果你想澄清你做了什么,你应该写如下。

AddDefaultCharset Off

造成乱的原因

让我们看看这个设置究竟发生了什么变化。表示AddDefaultCharset设置UTF-8和Off时响应头Content-Type的变化。

设置为UTF-8时

$ curl -I 192.168.5.10

HTTP / 1.1 200好的

日期:星期一,3月17日20XX 11:34:27 GMT

服务器:Apache

Last-Modified:周一,3月17日20XX 07:42:00 GMT

Accept-Ranges:字节

内容长度:125

连接:关闭

Content-Type:text / html; charset = UTF-8 <= charset始终显示

设置为关闭或注释时

$ curl -I 192.168.5.10

HTTP / 1.1 200好的

日期:星期一,3月17日20XX 11:34:41 GMT

服务器:Apache

Last-Modified:周一,3月17日20XX 07:42:00 GMT

Accept-Ranges:字节

内容长度:125

连接:关闭

Content-Type:text / html <= charset未显示

如果响应头Content-Type的字符代码是UTF-8 ,则浏览器会忽略HTML元标记中设置的字符代码,因此如果字符代码不匹配,则会出现乱码。 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值