IE中打開UTF-8編碼網頁顯示空白問題

Home Home
引用 | 編輯 笑笑
2008-06-24 18:18
樓主
推文 x0
最近公司的網頁改為 UTF-8 ,不過很多客戶反應,開我們公司的網頁是空白,我查了語法,都沒有問題,後來上網找了一下資料,原來語系宣告要在 <title> 之前,這樣才可以保證語系正常..

這下我有的改了........ 表情

很久很久以前(大概2005年10月~2006年3月),當時在blogger.com寫Blog。當時blogger.com有中文界面,對中文用戶也算是比較關心了,不過blogger.com的所有模版裡都有一個問題,那就是<title>標籤被放在<meta>標籤前面。當title為中文的時(比如Blog名為中文或者文章標題為中文),在IE下會出現顯示空白頁的問題。昨天Dre·J在群裡又問到這個問題,今天過來好好研究一下。

這個問題只存在於blogger.com中,WordPress系統中不存在。先說一下在blogger.com中這個問題的解決辦法:在模版的<body>標籤下面找到<title>標籤,調整成這樣:


程序代碼
<?php
<$BlogMetaData$>
<title><$BlogPageTitle$></title>


保證meta在前面就可以了。可以參考《感謝Yskin》和《UTF-8字符集網頁在IE上會顯示空白問題的解決方案》。

這個問題要從瀏覽器解析html的方式講起。瀏覽器讀取了頁面的html代碼後開始進行解析。解析前瀏覽器要先知道頁面的編碼方式,然後根據編碼方式進行解碼,然後才能開始解析。我大概想了一下,瀏覽器可以從下面3個方面得到頁面編碼方式:HTTP Header中的」Content-Type」項、返回的html代碼開頭是否有BOM、html代碼中的meta標籤。

參考 http://220.135.241.51/blog/article.asp?id=1582


獻花 x0