| 01 | <html><head> |
| 02 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8″> |
| 03 | <title>Big5編碼,但用utf8的meta標示</title> |
| 04 | </head><body> |
| 05 | <? |
| 06 | echo "中文測試"; |
| 07 | ?></body></html> |
【圖12、當編碼為Big5碼,meta卻標示UTF-8,IE8內變成亂碼】
【圖13、當編碼為Big5碼,meta卻標示UTF-8,Firefox內變成亂碼】
所以不是改了html的meta標示就可以轉換成UTF-8編碼,連檔案本身都必須是UTF-8編碼。所以,建議您養成習慣,網頁<head></head>內裡面加上<meta http-equiv="Content-Type" content="text/html; charset=UTF-8″>,且這一行最好加在<title></title>之前,就可以避免異常狀況發生。
| 資訊小百科:網頁為何會有亂碼或空白頁? 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標籤之前 |
接下來:3-5 網頁註解
葉建榮 jiannrong@gmail.com
相關文章:







