問題:
我頁面編碼開始是gb2312的,后來換成了utf-8,結(jié)果用IETester測試,打開ie6,7,8頁面是一片空白,但查看源文件又是完整的。在ie6和firefox下都正常,但是在ie7下偶爾會出現(xiàn)這樣的情況。
在網(wǎng)上找了找,發(fā)現(xiàn)問題原因及解決方法如下:
解決:
<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>
原因:
為什么會出現(xiàn)這樣的問題呢?這是由于解析網(wǎng)頁編碼時以html內(nèi)的標簽優(yōu)先,而后才是http header內(nèi)的訊息,而mozilla系列的瀏覽器則剛剛相反。
由于utf-8編碼的頁面為3個字節(jié)表示一個漢字,而普通的gb2313或big5是兩個。頁面輸出時,由于上述原因,使瀏覽器解析、輸出<title></title>的內(nèi)容時,如果在</title>前有奇數(shù)個全角字符時,把utf-8當(dāng)作兩個字節(jié)解析時出現(xiàn)半個漢字的情況,這時該半個漢字會和</title>的"<"結(jié)合成一個亂碼字,導(dǎo)致無法讀完<title>部分,使整個頁面為空百輸出。而這個時候如果察看源文件的話,會發(fā)現(xiàn)實際上整個頁面全部已經(jīng)輸出了。
因此最簡單的解決辦法是在網(wǎng)頁文件的<head></head>標簽中一定要把字符定義<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />放在<title></title>之前。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。