html页面中meta Content-Type charset放在页面最开始的地方

| No Comments | No TrackBacks

我们使用IE还有TT等浏览器中打开UTF-8编码或者GB2312编码的网页,但title为中文的时候,网页会显示空白页,这个问题经常出现。

解决办法:

将类似如下的说明放在title之前:

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

<title>谷多的一亩田,一亩田的谷多</title>

 

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

<title>谷多的一亩田,一亩田的谷多</title>

 

 

至于为啥要这样,可以这样简单理解:

一般浏览器需要抓取完整页面后再对页面进行解析,但解析之前需要知道页面的编码方式。

如果Content-Type放在title之后,而title之中已经有汉字这类文字,极其容易使浏览器解析时出现半个汉字的情况造成乱码,对整个html页面的DOM结构造成破坏,后面定义的charset根本无法正确解析,进而无法正确解析整个页面。

如果你现在的页面虽然没这样写但浏览器比如IE仍然可以正确解析,不是因为你的页面规范,而是因为浏览器默认使用了GB2312或者正确的编码进行了页面解析,碰到默认编码不匹配的浏览器,出现空白页面或者乱码就再正常不过了。

 

--EOF--

No TrackBacks

TrackBack URL: http://www.guduo.net/cgi-bin/mt/mt-tb.cgi/47

Leave a comment

Pages

May 2016

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

About this Entry

This page contains a single entry by 谷多 published on March 22, 2008 9:45 AM.

凤凰传奇:月亮之上 was the previous entry in this blog.

整数求和公式 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.