2007/01/23 09:32
<title>管理员登录</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
每次打开,均是一片空白,查看右键-编码,显示是GB2312。要手功改为UTF-8后才能正常显示页面。在FF下是可以正常显示的。
而其它php页面,因为在头部指定了@header('Content-Type: text/html; charset=utf-8');倒是可以正常显示。只指定meta对IE6似乎无效?
和同事研究了一下,发现原来要这样:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>管理员登录</title>
也就是把meta编码放在title之前,这样在IE下才会先读取meta指定的编码。
引用
在<head></head>之前,把"Content-Type"放在最前面,便可以解決这样的问题了。
原因:
IE 解析网页编码时是 HTML 內的标识优先的,然后是 HTTP header ;而mozilla 系列的浏览器刚刚好相反。
一般情况在,很多人是把<title></title>排在最前面,并且在title中就出现了UTF-8中文,这样, IE在解析时,就先遇到UTF-8,不往下解析了,因此必须把如果把meta放在UTF-8出现之前,这样IE才能判断这个网页是以UTF-8编码的。
总之:
无论是 PHP、JSP、ASP 或其他动态网页的脚本语言,如果需要作编码设定,最好放在最前面。
来自:解决web服务器各种应用的乱码问题
参考Blog:UTF-8字符集网页在IE上会显示空白问题的解决方案

指定的文件名无效或太长
仅对IE有效的CSS

