Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (52)
碎碎唸啦 (171)
網站架設 (83)
程式設計 (158)
軟體使用 (69)
電子商務 (123)
經營奇想 (48)
基金理財 (11)
聰明消費 (85)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)



歷史資料
 




June 18, 2005
解決 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
 
由 Neo 發表於 June 18, 2005 01:45 AM 收進你的MyShare個人書籤  

哇,原來是這麼回事。IE果然是比較弱智一點。

Firefox只要設定得當,就算一開始誤判編碼的話,一邊載入的時候還是會自動換成比較正確的編碼,成功率極高。手動改編碼的機率極低。


MilchFlasche 發表於 June 23, 2005 12:38 PM

这种问题完全是因为coder的失误造成,不应该说IE弱智,如果严格按WEB标准写HTML,这种情况不会发生,而且Apache、PHP的charset根本没必要设置,只在HTML中声明编码即可。


fzjw 發表於 September 28, 2005 12:18 PM

呵呵,我也碰到這種問題
現在試試看


kind 發表於 October 26, 2005 07:35 PM
發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.