飞克网
标题:
Apache以及PHP的默认编码问题解决
[打印本页]
作者:
admin
时间:
2016-12-28 15:21
标题:
Apache以及PHP的默认编码问题解决
如果你在网上搜索 “
apache
配置”,搜到的页面大多都会建议你在
httpd.conf
中加上这么一句:
AddDefaultCharset GB2312
。对于新手而且是只用
GB2312
编码的开发人来说,这么做是
ok
的。但是如果要想使用
UTF-8
字符集的话,比如 在
test.php
文件中需要有
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
这段代码。这时你再打开浏览器访问
test.php
页面的话,你看到的是正确的页面。但是如果实际上浏览器还是以
GB2312
编码解释从服务器返回的
response
,为什么呢?原因是浏览器是根据
http
应答消息头部中的
Content-type: text/html; charset=GB2312
来决定使用何种编码解释应答,也就是说
apache
服务器仍然用
GB2312
编码传递数据。所以说如果
apache
的默认字符集被设置成了
GB2312
,即使在页面中声明使用
UTF-8
编码,
apache
服务器还是会按照
GB2312
编码来传送
http response
。没关系,我们把
AddDefaultCharset GB2312
改成
AddDefaultCharset UTF-8
,看看什么结果?如果你看到乱码恭喜你,你还知道是乱码问题;如果你看到是空白页面,那么你就惨了,你可能会以为这是其他什么原因造成的,而不会从编码的角度去考虑怎么解决问题。
欢迎光临 飞克网 (http://feikechina.com/)
Powered by Discuz! X3.2