2009-02-12 82 views
6

我有a problem字符編碼在一些HTML頁面。似乎問題的原因是,某些.html文件未保存爲UTF-8編碼文件。儘管我已經指示Eclipse將這些文件保存爲UTF-8,但當我在瀏覽器中打開這些文件時,它表示這些文件是ISO-8859-1。更改文件編碼

如何將這些文件的編碼更改爲UTF-8?

更新:我已經有以下包括在每個網頁

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

我使用的Apache Web服務器的部分。

感謝, 多納爾

+0

您正在使用哪個Web服務器? – Akrikos 2009-02-12 19:44:15

回答

7

您可能需要更改Web服務器向客戶端發送的內容類型標頭。

編輯:雖然這確實適用於這種特殊情況,但使用其他海報建議的工具更改文件編碼可能是其他情況下更好的解決方案。因人而異。


說明在Eclipse爲UTF-8節省(我知道你已經有了):

你或許應該改變默認編碼在您的工作空間爲HTML文檔。

這是用於Eclipse 3.4。如果您有不同的版本,則可能略有不同。

轉到窗口 - >首選項
在Preferences窗口轉到常規 - >內容類型
在這一點上,你可以指定附近的首選項窗口的底部文件「默認編碼」。展開「文字」並選擇HTML。在'默認編碼'條目中,放入UTF-8。然後點擊右側的「更新」。

之後,所有的HTML文件應該保存爲UTF-8格式。

4

的問題UTF-8是有這些文件的開頭沒有魔法字節序列 - 瀏覽器的唯一檢測UTF-8或者是XML聲明,HTML機會meta標籤或一些啓發式作爲回退。

確保在HTML的標頭中有XML編碼聲明或一些HTML元標記。

<?xml version="1.0" encoding="utf-8"?> 

略低於DOCTYPE,如果它是XHTML,或

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
head部分

3

您可以使用iconv將文件從一種字符編碼轉換爲另一種。

1

嘗試增加

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

到HTML文件的頭部,或確保您的服務器服務與內容類型的HTTP頭文件。如果沒有這些,瀏覽器只能猜測字符編碼。

0

據我所知,在Eclipse中設置字符編碼並不實際轉換文件 - 它只是告訴Eclipse你想如何解釋它們。你最好的選擇是使用諸如亞當建議的轉換工具。

1

在Eclipse 3.7,請訪問:

窗口>首選項>常規>工作空間

在 「文本文件編碼」 設置文件的編碼需要。