解决"ie7打开页面有源文件但页面空白"的问题

问题:

我博客编码是utf-8的。有时候打开页面是一片空白,刷新一下又正常了,但查看源文件又是完整的。在ie6和firefox下都正常,但是在ie7下偶尔会出现这样的情况。

一开始我怀疑是IDC的问题,后来又想到了js、css、页面结构等。偶然间我想到了编码。毕竟编码的问题已经不是一两次找过我麻烦了。

解决:

<title>LC'BLOG</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

交换一下顺序
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>LC'BLOG</title>

原因:

为什么只有ie7会出现这样的问题呢?这是由于ie7解析网页编码时以html内的标签优先,而后才是http header内的讯息,而mozilla系列的浏览器则刚刚相反。

由于utf-8编码的页面为3个字节表示一个汉字,而普通的gb2313或big5是两个。页面输出时,由于上述原因,使浏览器解析、输出<title></title>的内容时,如果在</title>前有奇数个全角字符时,ie7把utf-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的"<"结合成一个乱码字,导致ie7无法读完<title>部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。

因此最简单的解决办法是在网页文件的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />放在<title></title>之前。

实际上,其他编码版本的也存在类似的问题,只是我们大家的浏览器默认编码都是 GBK 所以更不容易被察觉罢了。

最新评论:

no.10268 dz51ess511 188.143.232.32 2016-06-08 14:17

I cannot tell a lie, that really hedpel.

no.674 abc 202.94.233.133 2009-03-17 12:31

你是神呀,完全解決我的問題了!

no.605 sun_1888 116.30.4.86 2009-02-17 14:39

固计也不是这个问题吧。我title一直是在下面的,不行。 如果空白部分内没有img标签(也就是没有图片)是不会有这种情况的。 解决不了啊,晕。

no.600 xu0207wei 58.49.113.73 2009-02-16 13:35

楼主你好,我按你上面的改了,怎么还是没有好? 能不能加下QQ:160177121

发表评论:

邮箱: