一個方面是服務器解決:
Apache設置:AddDefaultCharset UTF-8
另外一個方面見下面事件,我也碰到過:
UTF-8 的網頁,讓別人來訪問,結果很多人都說進入後一片空白,發現是因為浏覽器沒有自動選擇到 UTF-8 文字編碼。
在windows操作系統上使用IE作為浏覽器時。常常會發生這樣的問題:在浏覽使用UTF-8編碼的網頁時,浏覽器無法自動偵測(即沒有設定"自動選擇"編碼格式時)該頁面所用的編碼。即使網頁已經聲明過編碼格式:
CODE:
由此造成某些含有中文UTF-8編碼的頁面產生空白輸出。
如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏覽器這不會造成這個問題。這是由於IE解析網頁編碼時以HTML內的標簽優先,而後才是HTTP header內的訊息;而mozilla系列的浏覽器則剛剛相反。
由於UTF-8為3個字節表示一個漢字,而普通的GB2312或BIG5是兩個。頁面輸出時,由於上述原因,使浏覽器解析、輸出的內容時,如果在前有奇數個全角字符時,IE把UTF-8當作兩個字節解析時出現半個漢字的情況,這時該半個漢字會和的<結合成一個亂碼字,導致IE無法讀完之前。