utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的通用解決方法
更新時間:2008年10月11日 09:46:09 作者:
當我們在瀏覽或使用uft-8格式的頁面的時候,總有可能出現(xiàn)一些亂碼或不顯示的問題,下載就瀏覽器客戶端和服務器都有一些原因的分析與解決方法
在windows操作系統(tǒng)上使用IE作為瀏覽器時。常常會發(fā)生這樣的問題:在瀏覽使用UTF-8編碼的網(wǎng)頁時,瀏覽器無法自動偵測(即沒有設定“自動選擇”編碼格式時)該頁面所用的編碼。
即使網(wǎng)頁已經(jīng)聲明過編碼格式:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
由此造成某些含有中文UTF-8編碼的頁面產(chǎn)生空白輸出。
如果使用的是Mozilla、Mozilla 瀏覽器、Sarafi的瀏覽器這不會造成這個問題。這是由于IE解析網(wǎng)頁編碼時以HTML內的標簽優(yōu)先,而后才是HTTP header內的訊息;而mozilla系列的瀏覽器則剛剛相反。
由于UTF-8為3個字節(jié)表示一個漢字,而普通的GB2312或BIG5是兩個。頁面輸出時,由于上述原因,使瀏覽器解析、輸出<title></title>的內容時,如果在</title>前有奇數(shù)個全角字符時,IE把UTF-8當作兩個字節(jié)解析時出現(xiàn)半個漢字的情況,這時該半個漢字會和</title>的<結合成一個亂碼字,導致IE無法讀完<title>部分,使整個頁面為空百輸出。而這個時候如果察看源文件的話,會發(fā)現(xiàn)實際上整個葉面全部已經(jīng)輸出了。
因此最簡單的解決辦法是在網(wǎng)頁文件的<head></head>標簽中一定要把字符定義
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
放在<title></title>之前。
-------------------------------------
=====================
UTF-8網(wǎng)頁亂碼問題解決:
<%@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
我來說說吧,這個我比較有經(jīng)驗,呵呵
2,< http-equiv="Content-Type" content="text/html; charset=UTF-8">
=======================================
這條比較重要,也比較常見,這個決定了瀏覽者瀏覽器選擇哪一種內碼來訪問你的網(wǎng)頁。
4,文件存成 UTF-8
如果你用中文輸入法,網(wǎng)頁里面出現(xiàn)中文,這一條就比較重要了.因為我們用普通輸入法輸入的文字不是UTF格式的,所以要重新保存成 UTF-8格式。
所有從數(shù)據(jù)庫里讀的中文字都是亂碼
=====================
1,<%@codepage="65001"%>
出現(xiàn)這種事情,請加上這句話,其實數(shù)據(jù)庫跟內碼沒什么關系,關鍵是ASP程序用什么內碼去傳輸你的數(shù)據(jù),加上這句話,就強制ASP用UTF來傳輸數(shù)據(jù)。
嘗試在<%@codepage="65001"%>下加一行:
<%Session.CodePage=65001%>
utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的問題一般就可以解決了
即使網(wǎng)頁已經(jīng)聲明過編碼格式:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
由此造成某些含有中文UTF-8編碼的頁面產(chǎn)生空白輸出。
如果使用的是Mozilla、Mozilla 瀏覽器、Sarafi的瀏覽器這不會造成這個問題。這是由于IE解析網(wǎng)頁編碼時以HTML內的標簽優(yōu)先,而后才是HTTP header內的訊息;而mozilla系列的瀏覽器則剛剛相反。
由于UTF-8為3個字節(jié)表示一個漢字,而普通的GB2312或BIG5是兩個。頁面輸出時,由于上述原因,使瀏覽器解析、輸出<title></title>的內容時,如果在</title>前有奇數(shù)個全角字符時,IE把UTF-8當作兩個字節(jié)解析時出現(xiàn)半個漢字的情況,這時該半個漢字會和</title>的<結合成一個亂碼字,導致IE無法讀完<title>部分,使整個頁面為空百輸出。而這個時候如果察看源文件的話,會發(fā)現(xiàn)實際上整個葉面全部已經(jīng)輸出了。
因此最簡單的解決辦法是在網(wǎng)頁文件的<head></head>標簽中一定要把字符定義
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
放在<title></title>之前。
-------------------------------------
=====================
UTF-8網(wǎng)頁亂碼問題解決:
<%@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
我來說說吧,這個我比較有經(jīng)驗,呵呵
2,< http-equiv="Content-Type" content="text/html; charset=UTF-8">
=======================================
這條比較重要,也比較常見,這個決定了瀏覽者瀏覽器選擇哪一種內碼來訪問你的網(wǎng)頁。
4,文件存成 UTF-8
如果你用中文輸入法,網(wǎng)頁里面出現(xiàn)中文,這一條就比較重要了.因為我們用普通輸入法輸入的文字不是UTF格式的,所以要重新保存成 UTF-8格式。
所有從數(shù)據(jù)庫里讀的中文字都是亂碼
=====================
1,<%@codepage="65001"%>
出現(xiàn)這種事情,請加上這句話,其實數(shù)據(jù)庫跟內碼沒什么關系,關鍵是ASP程序用什么內碼去傳輸你的數(shù)據(jù),加上這句話,就強制ASP用UTF來傳輸數(shù)據(jù)。
嘗試在<%@codepage="65001"%>下加一行:
<%Session.CodePage=65001%>
utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的問題一般就可以解決了
相關文章
ASP中Utf-8與Gb2312編碼轉換亂碼問題的解決方法 頁面編碼聲明
ASP程序在同一個站點中,如果有UTF-8編碼的程序,又有GB2312編碼的程序時,在瀏覽UTF-8編碼的頁面后,再瀏覽當前網(wǎng)站GB2312的頁面,GB2312編碼的頁面就會出現(xiàn)亂碼2012-02-02
[圖]Flash+ASP實現(xiàn)電子互動地圖在線標注功能
[圖]Flash+ASP實現(xiàn)電子互動地圖在線標注功能...2007-03-03

