解決 IE 誤判編碼造成的亂碼

剛剛從 Richyli 連到這篇文章的時候,發現畫面上都是亂碼。

20050618_01.jpg

看 IE 判斷網頁編碼為「西歐語系」,所以應該是誤判的緣故。

這個狀況已經有發生一段時間了,只要重新整理就正常了,所以一直沒去理他。今天仔細去測了一下,只有特定幾篇文章會發生這種狀況。

很明顯是瀏覽器的編碼誤判,這種狀況比較簡單的方法就是從 Apache 那邊做設定,可以修改 httpd.conf 或 .htaccess 的預設編碼。

如果網站放在虛擬主機,而且連 .htaccess 的權限都沒有的狀況下,就只能從網頁下手了。



先檢查網頁 HTML 是不是有下面這種狀況:

<html>
<head>
<title>[弱智媒體] 談網路香腸西施 - 林奕利 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

這樣看起來好像沒什麼不對,UTF-8 也指定了,不應該會出現亂碼才是。

因為IE是逐行往下讀,第一個出現中文字的 Title 在指定編碼的 meta 之前,所以瀏覽器不得已只好從 Title 去猜這篇文章的編碼,所以一行錯就整頁錯。這時候只要把 charset 的 meta tag 移 <head> 內的最上方,讓 IE 一開始就知道這網頁是 UTF-8 編碼就可以解決這個問題了。

修改後的 HTML 變這樣:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>[弱智媒體] 談網路香腸西施 - 林奕利 </title>

</head>

解決後的畫面就正常了:

20050618_02.jpg

4 comments On 解決 IE 誤判編碼造成的亂碼

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar