| Subcribe via RSS

页面定义UTF-8导致IE下无显示

5月 8th, 2008 | No Comments | Posted in HTML < by Johnny Woo >
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">

需要将UTF-8定义放在title之前
否则将可能导致IE下所有HTML页面不显示

如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。

由于UTF-8为3个字节表示一个汉字,而普通的GB2312或BIG5是两个。页面输出时,由于上述原因,使浏览器解析、输出的内容时,如果在前有奇数个全角字符时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和的部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个页面全部已经输出了。

阅读内文