在windows操作系統(tǒng)上使用IE作為瀏覽器時(shí)。常常會(huì)發(fā)生這樣的問題:在瀏覽使用UTF-8編碼的網(wǎng)頁時(shí),瀏覽器無法自動(dòng)偵測(cè)(即沒有設(shè)定“自動(dòng)選擇”編碼格式時(shí))該頁面所用的編碼。即使網(wǎng)頁已經(jīng)聲明過編碼格式:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
由此造成某些含有中文UTF-8編碼的頁面產(chǎn)生空白輸出。
如果使用的是Mozilla、Mozilla 瀏覽器、Sarafi的瀏覽器這不會(huì)造成這個(gè)問題。這是由于IE解析網(wǎng)頁編碼時(shí)以HTML內(nèi)的標(biāo)簽優(yōu)先,而后才是HTTP header內(nèi)的訊息;而mozilla系列的瀏覽器則剛剛相反。
由于UTF-8為3個(gè)字節(jié)表示一個(gè)漢字,而普通的GB2312或BIG5是兩個(gè)。頁面輸出時(shí),由于上述原因,使瀏覽器解析、輸出<title></title>的內(nèi)容時(shí),如果在</title>前有奇數(shù)個(gè)全角字符時(shí),IE把UTF-8當(dāng)作兩個(gè)字節(jié)解析時(shí)出現(xiàn)半個(gè)漢字的情況,這時(shí)該半個(gè)漢字會(huì)和</title>的<結(jié)合成一個(gè)亂碼字,導(dǎo)致IE無法讀完<title>部分,使整個(gè)頁面為空百輸出。而這個(gè)時(shí)候如果察看源文件的話,會(huì)發(fā)現(xiàn)實(shí)際上整個(gè)葉面全部已經(jīng)輸出了。
因此最簡(jiǎn)單的解決辦法是在網(wǎng)頁文件的<head></head>標(biāo)簽中一定要把字符定義
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
放在<title></title>之前。
posted on 2008-06-18 09:30
CoderDream 閱讀(424)
評(píng)論(0) 編輯 收藏 所屬分類:
每日網(wǎng)摘