一片空白的UTF-8網頁

如果使用的是Mozilla、Mozilla Firefox、Sarafi等其他目前流行的瀏覽器,通常就不會有這樣的問題。

如果您在Windows作業系統上,使用Internet Explorer瀏覽器的話,往往會出現這樣的狀況:在瀏覽使用UTF-8編碼製作的中文網頁時,瀏覽器並不能夠自動偵測網頁的編碼方式,從原本預設的語系編碼(例如Big5正體中文等),切換成改以UTF-8編碼,結果畫面上就是一片空白,什麼都沒有,即使在網頁當中,已經加上了特別標明內文語系的metadata標籤:

在Internet Explorer中,還是沒有辦法正常處理。

我之前也遇過這樣的狀況,在做了一些嘗試之下,發現有個方法可以解決這樣的問題,那就是,在網頁的<head>到</head>當中的檔頭部份,調整一下各種<meta>標籤在檔案中的順序。如果說,在<head>當中,排在最前面的是像網頁標題標籤<title></title>,當中就出現了UTF-8中文,就很容易造成在瀏覽器中畫面一片空白,我在想,或許是因為Internet Explorer會一開始就用預設的語系解讀、分析網頁,而在標題的地方遇到UTF-8字元,就解讀錯誤,而不會繼續往下讀,讀到meta標籤,讀出這個網頁是以UTF-8編碼。

所以,在</head>的部份,把”Content-Type”放在最前面,便可以解決這樣的問題了。

23 thoughts on “一片空白的UTF-8網頁

  1. zonble,我在使用BLOGGER.com的服务的时候就遇到了这样的问题,根据你的建议修改,并重新发布整个站点之后,还是不行。不知道是怎么回事?我用Mozilla Firefox也无法正确显示。倒不是空白,而是出现了乱码!

  2. 小小補充:

    IE 解析網頁編碼時以 HTML 內的標籤優先,再來是 HTTP header 的訊息;mozilla 系列的瀏覽器相反。

    所以如果是用 Apache 架的網站,httpd.conf 預設值裡有 AddDefaultCharset=ISO-8859-1,如此一來,不管網頁裡寫了什麼,mozilla 系列的瀏覽器都會當成是這個,IE 則相反。

    另外,無論是 PHP、JSP、ASP 或其他動態網頁的 script language,如果需要作編碼設定,最好放在最前面,比 HTML 的 meta 還要前面…

  3. 好像真的是這樣耶,我是沒遇過這問題,不過剛剛去看了一下我的網頁原始檔,我確實是把語言編碼宣告放在title前面,當初是沒想過這問題啦,只是覺得這似乎比較重要,應該放在最前面。

  4. Pingback: 无题 » 解决了空白网页的问题

  5. Pingback: 米私啄與糠砒悠忒

  6. 是这样,UTF-8 是三个字节一个汉字,而普通的 BIG5 是两个,结果把 UTF-8 当成 BIG5 解析的时候会出现一个半汉字的情况,而那半个汉字会和 </title> 的 < 结合成一个乱码字,导致 IE 无法读完 <title> 部分,整个页为空

    出现这种情况的条件是 </title> 之前有连续的奇数个全角字符

  7. 太強了!我多年來(其實只有兩三個月)縈繞心頭的疑問終於獲得解決,也終於知道該如何斧底抽薪地解決白網頁問題。在此叩首致謝。

  8. Pingback: hsuyo BLOG!

  9. Pingback: 石头札记

  10. Pingback: 傻瓜樂園--Fool*s Paradise

  11. 謝謝分享,真是太神奇啦!!!你真是救星阿。

    P.S.有試著發送通告,但不知為何失敗了,特再留言一次,若有造成重複留言,再麻煩你刪除,不好意思。:-p

  12. Pingback: ernest.blog

  13. 請問一下…看了各位的討論…..試了一下…還是解決不了亂碼的問題..@@
    請指點一下

    1.在wp-admin目录下的admin_header.php的:

  14. Pingback: The Dukedom of Aberdeen 香港仔公國 » Blog Archive » 解決UTF-8/BIG-5中文顯示問題

Comments are closed.