[转载]IE不能主动识别UTF-8编码的问题
发布:kinglong | 发布时间: 2006年9月17日之前在动态页面静态化的过程中,IE打开页面后不显示内容,但html代码数据已经下载下来了,将其"字符编码"手动改"utf-8"才可以显示,到google搜索一下,找到解决方法了,为了方便自己也方便别人就把解决方法贴出来!
google上搜索的解决方法
在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
,由此造成某些含有中文UTF-8编码的页面产生空白输出。
如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。
由于UTF-8为3个字节表示一个汉子,而普通的GB2312或BIG5是两个。页面输出时,由于上述原因,使浏览器解析、输出<title></title>的内容时,如果在</title>前有奇数个全角字符时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的<结合成一个乱码字,导致IE无法读完<title>部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。
因此最简单的解决办法是再网页文件的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 放在<title></title>之前。
- 相关文章:
- 2.iVox
- http://www.ivox.cc
- 感谢此文作者,及楼主的转载!
这个问题困扰我很久了,一朝解决,喜不自胜! - 2006-9-18 10:40:48 回复该留言
- 3.kinglong
- http://www.klstudio.com
- to 幸福的子弹:
这个动态页面生成静态时会出现的问题,如果你的title是中文字符的话,就会出现此类问题,你说的动态页面加那句话,这个当然知道了,并不是你所想得那样
to iVox:
我为人人,人人为我! - 2006-9-18 17:29:00 回复该留言
- 4.awflasher
- http://www.awflasher.com
- 我为人人,人人为我!
-___-#~ - 2006-9-19 14:46:35 回复该留言
- 6.sam
- http://www.puhuagood.com
- 这个法子我也是在google搜索来的,早就解决了,我就没想到要贴出来帮大家,还是你想得周全。
- 2007-7-9 23:31:53 回复该留言
- 8.together
- 这2天正碰到这个问题~
想请问下.博主所测试的IE环境是IE6 ? or IE7?
我在IE6下设置字符编码为UTF-8时,页面打开是乱码~并且IE6的编码中是自动选择,也选择对应成了UTF-8;
此时我将IE6的编码改成GB2312就正常.
IE7下已经没有这个BUG~不管meta和Title的顺序如何.都不会出现乱码. - 2007-9-10 16:09:49 回复该留言
- 9.vrspider
- 大家好!我这边碰到的问题是,我选择UTF-8编码,可以显示正常汉子,但是由于页面会自动刷新,结果又变回去ISO了,如何让浏览器默认的就是UTF-8
- 2007-11-1 17:15:44 回复该留言
- 10.gotl
- http://tinyurl.com/243p7q
- 真有效么。试试
- 2008-1-10 13:15:24 回复该留言
- 11.为这个问题几天没有睡好觉
- http://www.iebe.cn
- 终于解决了,好高兴。为这问题真的我几天没有睡好觉。谢谢!
www.iebe.cn欢迎回访! - 2009-7-16 13:31:35 回复该留言
- 12.lagramoon
- http://www.eosi.org
- 感谢!原来是这样的道理。
- 2009-8-22 17:05:18 回复该留言
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。




