发布于:
2007年11月05日
碰到好几次这样的问题,用UTF-8编码的网页在自己的电脑上测试好好的(一般情况下用Firefox,到成品时才用IE,Opera一起测试一遍)。结果让别人访问非得把网页编码手动改成Unicode(UTF-8)才能正常显示,否则就是一片空白。google了一下,发现有造成这种情况必须符合一下条件:
1. 网页的标题是中文的
2. 网页的编码是UTF-8的
3. 访问网页的浏览器是IE的,不管是IE的什么版本,只要是IE的内核都会出现这个问题。我测试了IE7也不能幸免。非IE的如Firefox就OK
解决办法:
将<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />这段代码写到
<header></header>
标签中<title></title>
标签的前面。我查过,google.cn以及wordpress就是这么干的,虽然听说不怎么符合W3C的标准。
具体原因,yskin’s blog上有相当详细的解释以及测试。内容看这里。他称这个为IE的bug. 想想IE的这种顽固bug又不是一个两个了,用非IE内核浏览器才是王道。