2010年10月28日 星期四

網站為什麼都是亂碼?!utf-8與big5傻傻分不清楚!

網站為什麼都是亂碼?!utf-8與big5傻傻分不清楚!


今天製作一個網頁的uft-8,結果在準備收工時拿到IE8底下測試,熊熊發現網頁完全空白!而且明明加入了meta標籤,預設的編碼還是big5~!為了解決這問題,改了好幾次,最後發現的結果又是IE與眾不同......囧rz

解決方法如以下文字引用: http://businesswing.net/php/3-4/ ,2010.10.28

資訊小百科:網頁為何會有亂碼或空白頁? html會先依文件內容本身編碼選擇編碼,但IE(包含IE6至IE8)在網頁沒有指定編碼的語法下會以該電腦預設編碼為預設編碼。所以UTF-8編碼網 頁若沒有指定編碼會變成亂碼。 若網頁有<meta http-equiv=”Content-Type” content=”text/html; charset= UTF-8″> 標籤,瀏覽器會依照標籤重新設定編碼方式,所以若標籤內描述的編碼與文件內容編碼不一致,網頁就會出現亂碼。 Firefox或其他非IE瀏覽器在解析編碼時,只要找到meta標籤,就會重新定義網頁編碼,不論meta標籤的順序在title標籤之前或後;而IE 找到meta標籤後,開始定義網頁編碼,在這一行之前則依照電腦預設編碼,換言之,若meta標籤在title標籤之後,解析title時會出現編碼不一 致的情況,而會以空白頁的方式顯示。 所以,當您要設計UTF-8網頁,為了避免瀏覽器瀏覽出現亂碼或空白頁,請您確認以下三個步驟:
1.確認網頁文件編碼為UTF-8 
2.確認網頁有加上<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>

3.確認上述meta標籤在title標籤之前
另外,根據某網頁敘述(看太多頁面,忘記了~"~),utf-8在meta當中最好不要減省為utf8,有些瀏覽器會無法判讀!

沒有留言:

張貼留言