當我們在瀏覽或使用uft-8格式的頁面的時候,總有可能出現一些亂碼或不顯示的問題,下載就瀏覽器客戶端和伺服器都有一些原因的分析與解決方法在windows作業系統上使用IE作為瀏覽器時。常常會發生這樣的問題:在瀏覽使用UTF-8編碼的網頁時,瀏覽器無法自動偵測(即沒有設定自動選擇編碼格式時)該頁面所使用的編碼。
即使網頁已經聲明過編碼格式:
<meta http-equiv=Content-Type content=text/html; charset=UTF-8 />
由此造成某些含有中文UTF-8編碼的頁面產生空白輸出。
如果使用的是Mozilla、Mozilla 瀏覽器、Sarafi的瀏覽器這不會造成這個問題。這是由於IE解析網頁編碼時以HTML內的標籤優先,而後才是HTTP header內的訊息;而mozilla系列的瀏覽器則剛好相反。
由於UTF-8為3個位元組表示一個漢字,而普通的GB2312或BIG5是兩個。頁面輸出時,由於上述原因,使瀏覽器解析、輸出<title></title>的內容時,如果在</title>前有奇數個全角字符時,IE把UTF-8當作兩個字節解析時出現半個漢字的情況,這時該半個漢字會和</title>的<結合成一個亂碼字,導致IE無法讀完<title>部分,使整個頁為空百輸出。而這時候如果察看源文件的話,會發現實際上整個葉面都已經輸出了。
因此最簡單的解決方法是在網頁檔案的<head></head>標籤中一定要把字元定義
<meta http-equiv=Content-Type content=text/html; charset=UTF-8 />
放在<title></title>之前。
-------------------------------------
=====================
UTF-8網頁亂碼問題解決:
<%@codepage=65001%>
< http-equiv=Content-Type content=text/html; charset=UTF-8>
一個也不能少
另外,文件要存為utf-8格式的
還有,程序不能出錯,嘿嘿
要是有錯誤的程序,那麼剛打開的時候正常的,刷新了就亂碼了
這裡說的出錯時不會使整個頁面不顯示的出錯。
1,<%@codepage=65001%>
2,< http-equiv=Content-Type content=text/html; charset=UTF-8>
3,Session.CodePage = 65001
4,檔案存成UTF-8
我來說說吧,這個我比較有經驗,呵呵
2,< http-equiv=Content-Type content=text/html; charset=UTF-8>
=========================================
這條比較重要,也比較常見,這個決定了瀏覽者瀏覽器選擇哪一種內碼來訪問你的網頁。
4,檔案存成UTF-8
如果你用中文輸入法,網頁裡面出現中文,這一條就比較重要了.因為我們用普通輸入法輸入的文字不是UTF格式的,所以要重新保存成UTF-8格式。
所有從資料庫裡讀的中文字都是亂碼
=====================
1,<%@codepage=65001%>
出現這種事情,請加上這句話,其實資料庫跟內碼沒什麼關係,關鍵是ASP程式用什麼內碼去傳輸你的數據,加上這句話,就強制ASP用UTF來傳輸資料。
試著在<%@codepage=65001%>下加一行:
<%Session.CodePage=65001%>
utf-8 網頁不顯示+utf-8網頁亂碼的問題一般就可以解決了