UTF-8不能自动选择字符编码(iframe),页面输出空白
时间:2011-05-22 来源:xgcdd
同事调试页面的时候发现如果IE没有选择自动编码,那么utf-8的有些页面会在IE下显示空白,即使你习惯性的加入了:<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
产生原因:
utf-8用3个字节表示一个汉字,而普通的gb2312或big5是2个。而恰巧IE在解析网页编码时以HTML内的标签为优先,然后再会解析Header内的内容,但FF等其他浏览器相反。正因为这样,当Title里有奇数个全角字符时,IE把utf-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的<结合成一个乱码字,导致IE无法读完<title>部分,使整个页面为空白输出。
解决方案:
实际上很简单,把<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />放在<title></title>的前面即可。
他们如何:
Google:
<meta http-equiv=content-type content=”text/html; charset=UTF-8″>
<title>这里是中文 – Google 搜索</title>
Yahoo:
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
<title>这里是中文_雅虎网页搜索</title>
相关阅读 更多 +