patch for vpopmail–解决vpopmail丢失mysql连接的问题 开始使用awstats分析apache日志
Apr 10
作者: 肖建彬 | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://www.xiaojb.com/archives/tips/ie_content-type_title.shtml

大概在前年就在前东家集体讨论过这个问题,在我离开前东家之前也喝其他技术讨论过这个问题,今天在设置google的自定义搜索的时候又遇到了这个问题,当字符集定义在title之后时,ie可能会出现白页,比如今天出现白页的google自定义搜索的页面源码:

<html><head><title>Google 搜索</title>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">

稍微改变一下就会防止这种事情出现

<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>Google 搜索</title>

firefox没有这个问题。

One Response to “页面字符集定义与title的位置导致IE页面空白的问题”

  1. xjb Says:

    在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式:

    ,由此造成某些含有中文UTF-8编码的页面产生空白输出。

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

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

    因此最简单的解决办法是再网页文件的标签中一定要把字符定义
    放在之前。

Leave a Reply