2009年2月18日星期三

页面charset失效问题

今天一个同事说在他的IE6下,访问uu.51ditu.com出现乱码
因为浏览器默认使用utf-8来解析,所以显示的时候就over了,其实页面编码是gb2312的

俺研究了一下,发现这个网页文件不是以gb2312保存的,在Google上搜到一篇文章说:
浏览器读取了页面的html代码后开始进行解析。解析前浏览器要先知道页面的编码方式,然后根据编码方式进行解码,然后才能开始解析。IE 解析网页编码时是 HTML 內的标识优先的,然后是 HTTP header ;而mozilla 系列的浏览器刚刚好相反。一般情况在,很多人是把title排在最前面,并且在title中就出现了UTF-8中文,这样, IE在解析时,就先遇到 UTF-8,不往下解析了。

原文给出了解决方案,地址如下:http://www.phpchina.com/html/86/62786-30725.html

没有评论: