apache 中文乱码问题

Apache 中文乱码
通过抓包发现
1,     正常显示中文页面的字符集采用UTF-8

技术分享

2,  而中文字符乱码的采用单字节编码的ISO-8859-1字符集,该字符集并不支持中文

技术分享

问题来了,这个问题是由于LMAP哪个程序解析的问题呢

我们考虑到该页面为静态页面,根本不涉及PHP解析问题,所以,当client端发请求至web server 端后,web server 直接返回该页面给client端,因为页面中没有PHP代码

技术分享

可以看到纯HTML文档是能够正常解析的

 

查看PHP解析的文档是否正常

技术分享

我们发现PHP文档中的中文依然能正常显示,那么问题来了,为何有的页面有乱码呢
我们查看下网页代码,发现页面中并未声明使用什么解码方式来解析该页面,在head字段中添加一行代码,告知客户端解析的字符集查看结果


添加代码

技术分享


效果预览

技术分享

由此我们可得出两点结论
1,     和抓包相同,默认情况下页面使用ISO-8859-1这和抓包内容看到的相吻合
2,     网页代码中是否声明该页面使用的字符集类型也会影响页面的显示情况
当然我们也可以通过修改LAMP环境的默认字符集,同样也可正常获取页面


结论:每个环节都可能对最终结果产生影响,我们要解决问题必须深刻知道是哪个环节出了问题,这样才能很快解决问题。





END !




本文出自 “百折不回” 博客,请务必保留此出处http://changbo.blog.51cto.com/1316452/1599621

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。