當設計的網頁使用UTF-8編碼時,明明用其它瀏覽器,如Firefox or Google Chrome都可以正常瀏覽,

但就是IE老是剛開始開進去空白一片,然後要自己手動設定選擇編碼才能正常瀏覽。

 

以上情形就算有寫以下的編碼格式聲明設定tag,IE也無法自動切換

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


但如火狐那些瀏覽器就能正常瀏覽,並不會有如IE 6的此類問題。

為何會這樣?

在此引用爬過的文章,依照內容所示:

出處:http://tw.myblog.yahoo.com/jw!NhSYS..BGBKJtVRYjNXX2esb7Q--/article?mid=1240

由於IE解譯網頁編碼時以HTML內的標籤優先,而後才是HTTP header內的訊息、

而mozilla系列的流覽器則剛剛相反。

由於UTF-8為3個位元組表示一個漢字,而普通的GB2312BIG5是兩個。頁面輸出時,由於上述原

因,使瀏覽器解析、輸出<title></title>的內容時,如果在</title>前有奇數個全形字符

時輸出的內容時,IE把UTF-8當作兩個位元組解析時出現半個漢字的情況,這時該半個漢字會和

</title><會結合成一個亂碼字,導致IE無法讀完<title>部分,使整個頁面為空白輸出。


看到這邊,心里有底了!!

解決方式應當很簡單,依照上面文意可以推出以下結論

原本會出問題的寫法:
<title>會出問題喔</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" / 

正確的寫法應改成:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>不會出問題</title>


試驗過了之後,真的如此!!

解決方法就是把<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

寫在<title></title>前面就可以了。

arrow
arrow
    全站熱搜

    AwEi 發表在 痞客邦 留言(2) 人氣()