您的位置:首页 > 其它

奇怪网页乱码问题的跟踪处理

2008-03-19 11:27 281 查看
奇怪网页乱码问题的跟踪处理
问题描述:

网页中包含日文,所以存储时选择的编码是”utf-8”

网页的head 标签中的meta中设置的charset是”utf-8”

用IE浏览时如果没有选择“自动选择编码”时,IE可以正常用”utf-8”编码显示页面,如下图


用IE浏览时如果选择”自动选择编码”时,IE不可以正常用”utf-8”编码显示页面,日文会显示成乱码,当前客户端的locale为US,IE自动选用的编码为”Western European(Windows)”,

若当前客户端的locale为China,IE自动选用的编码为”Chinese Simplified(GB2312)”.




页面为乱码时,点击刷新按纽后页面显示正常。


问题定位与确认:


经网上搜索相关资料,了解到决定网页编码的方式有主要有两个,一个是网页在head标签中的meta中设置的charset,二是HTTP协议header部分对ContentType的设置。不设置IE”自动选择编码”时,IE可以正确地使用utf-8编码显示页面,说明网页中head设置生效,可以排除一。对于问题二用Fiddler2工具截取Http协议的交互过程,发现HTTP协议的Response的header中的设置确实不包含charset的设置,如下图



用fiddler2工具设置断点, 截取HTTP协议的Response,并修改相应的ContentType, 最后发送到浏览器进程,以确认是不是由HTTP 协议Header部门引起的问题。如下图:

然后”Save”,然后”Run To Completion”,然后察看IE,结果如下:




问题解决:
在程序服务端对HTTP的header部分加上charset的设置,OK。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: