空白顯示頁(yè)面問(wèn)題的解決 | ![]() | ![]() | ![]() |
作者: 逐浪者Joomlar | |
Sunday, 30 October 2005 | |
將Joomla!修改為UTF-8編碼之后,發(fā)現(xiàn)使用部分模版(如Joomla! 1.03附帶的rhuk_solarflare_ii模版)時(shí)偶爾會(huì)發(fā)生打開頁(yè)面為空白的現(xiàn)象,特別是瀏覽器未設(shè)置為“自動(dòng)選擇”編碼的時(shí)候。 在windows操作系統(tǒng)上使用IE作為瀏覽器時(shí)。常常會(huì)發(fā)生這樣的問(wèn)題:在瀏覽使用UTF-8編碼的網(wǎng)頁(yè)時(shí),瀏覽器無(wú)法自動(dòng)偵測(cè)(即沒有設(shè)定“自動(dòng)選擇”編碼格式時(shí))該頁(yè)面所用的編碼。即使網(wǎng)頁(yè)已經(jīng)聲明過(guò)編碼格式: 如果使用的是Mozilla、Mozilla Firefox、Sarafi的瀏覽器這不會(huì)造成這個(gè)問(wèn)題。這是由于IE解析網(wǎng)頁(yè)編碼時(shí)以HTML內(nèi)的標(biāo)簽優(yōu)先,而后才是HTTP header內(nèi)的訊息;而mozilla系列的瀏覽器則剛剛相反。 由于UTF-8為3個(gè)字節(jié)表示一個(gè)漢子,而普通的GB2312或BIG5是兩個(gè)。頁(yè)面輸出時(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無(wú)法讀完<title>部分,使整個(gè)頁(yè)面為空百輸出。而這個(gè)時(shí)候如果察看源文件的話,會(huì)發(fā)現(xiàn)實(shí)際上整個(gè)葉面全部已經(jīng)輸出了。 因此最簡(jiǎn)單的解決辦法是再網(wǎng)頁(yè)文件的<head></head>標(biāo)簽中一定要把字符定義<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ps:涉及到編碼問(wèn)題的方式
------------------------------------------- |
聯(lián)系客服