Click here to
get yummy grain feed
delivered to your RSS oven

rss

  • Businesswing Design BLOG
  • Assist to join the global market.
3-4 網頁為何看不到或變成亂碼?

Date:十二月 8, 2009 | Author:eggggg

瀏覽器如何知道網頁的編碼呢?網頁<head></head>內可加入<meta http-equiv="Content-Type" content="text/html; charset=編碼">以確認瀏覽器會以正確的編碼顯示,如果網頁內沒有這一行文字,會造成什麼結果呢?以IE8來說,就會無法顯示正確內容,而Firefox可以。 但如果網頁本身為Big5編碼,而用UTF-8的meta標示呢? (檔案名稱:「3」資料夾內「charset1.php」)
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

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

相關文章:

    

發表迴響

     top