天天看点

IE打开UTF-8编码的页面出现空白页的问题解决

最近在做一个网站的时候,发现自己做的网页,在本机上打开能够显示,但一上传到服务器,再远程访问,用IE打开显示一片空白,用firefox打开又可以显示,觉得很奇怪,结果上google上一搜,原来早有人发现了这个问题了,特记录下来。

1、请看我网页的头部代码:

写道 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title> 欢迎进入深圳市贸易有限公司 </title>

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

<link rel="stylesheet" type="text/css" href="css/style.css" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" />

</head>

 这是我没有解决问题之前的html代码,其中的title标签写在了meta标签之前,这样就导致了空白页。

2、后来在网上搜索了下,发现在IE下打开UTF-8编码的网页时,IE会先获取到网页的编码格式,但因为<title>标签在<meta>标签之前,汉字在UTF-8中是三个字节表示,而在GB2312中是两个字节。所以IE在不知道编码方式的情况下,以默认的编码格式进行解析,解析出错,导致以下的部分都不能正常解析,所以就显示成空白页面了。

正确的排列顺序是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<title>欢迎进入深圳市贸易有限公司
</title>
<link rel="stylesheet" type="text/css" href="css/style.css" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" />
</head>
           

 <meta>标签在前,<title>标签在后,这样IE在解析时,就不会找不到编码格式了。