2011-08-07 42 views
0

我看到一些信息,如The Unicode Book和一些Wikipedia Article告訴我們,Unicode是HTML的默認字符集& XML。Unicode是HTML和XML的默認字符集嗎?

我理解「字符集」這個詞,就像您在製作文件時可以使用的「repertorie」一樣。這導致一些編輯者設置他自己的默認字符集,而不管將要使用什麼類型的文件。無論您是否嘗試製作HTML文件,某些編輯器都不會將Unicode設置爲默認值。

就剩下,如果Unicode是默認字符集HTML和XML或取決於編輯的用於創建該文件的問題...

回答

2

我想你可以稱Unicode爲「默認」,因爲HTMLXML都以Unicode的形式定義了它們允許的內容。

但是,一個文件不能是「在Unicode」,它必須在一些Unicode的編碼。默認情況下,XML文件必須採用UTF-8或UTF-16編碼,除非序言指定的不同。 HTML規範顯式地將支持的編碼保留爲未定義的,並且指示編碼由傳輸協議(例如,HTTP)處理。

+0

*我想你可以把Unicode稱爲「默認」,因爲HTML和XML都以Unicode的形式定義了他們允許的**內容*我認爲這是我的答案。 – nEAnnam

+1

@nEAnnam:當您說' '或'&#x1F4A9'時,您已使用ASCII指定映射到特定Unicode字符的代碼點,分別爲NO-BREAK SPACE和PILE OF POO。這些數字始終是Unicode代碼點。這可能是你在想什麼。 – tchrist

+0

@tchrist好點,我認爲這個問題是這樣的。謝謝 – nEAnnam

1

依賴於編輯文檔的人,沒有那麼多的編輯。編輯器使用最適合作者的編碼(或他們認爲最適合作者的編碼)作爲默認編碼。

基本上,如果您未指定編碼或者客戶端軟件無法識別服務器發送的標頭,則它可能應默認爲unicode。我不認爲這是強制性的 - 這只是一種普通的行爲。

1

如果我正確地讀你的問題,你需要做

  • 之間的區別設定您所使用的字符
  • 設置你聲明

字符的字符集,你有實際在創建文檔時使用的是您在編輯器中設置的文檔。現在您需要確保文件的使用者能夠正確讀取它,即您使用的字符集也是您聲明的字符集。

如您所說,如果您不使用聲明,則默認值將爲XML文檔的UTF-8。這就是讀取文件的應用程序將承擔的功能。因此,您最好確保您的編輯器設置爲UTF-8,否則使用適當的XML標題,例如

<?xml version="1.0" encoding="ISO-8859-1"?> 

對於HTML文檔,默認編碼通常在服務器配置中設置,所以檢查一下。現在UTF-8是最常見的選擇。

1

區分可能出現在HTML文檔中的字符集(這是一個相當抽象的概念)和編碼用於存儲/傳輸HTML文件的字符很重要。

後者的默認取決於OS /瀏覽器/ HTML編輯器設置,它絕對是而不是Unicode,因爲Unicode不是編碼。它可能是「UTF-8」,它是一種Unicode編碼的字符 - 就像「UTF-16」(這些編碼與例如不能編碼所有Unicode字符的「ISO-8859-1」不同)。

總的來說,重要的是,您可以將編輯器設置爲您在HTML文件中聲明的相同編碼。有些編輯會自動執行此操作,但許多人不會。

+0

我知道你在說什麼,但我的意思是例如這樣的引用:* HTML文檔是一系列Unicode字符,與它們在計算機存儲系統和網絡中的表現無關。*但我認爲這取決於編輯 – nEAnnam

+0

是的,這取決於編輯。它經常發生,有人將其編輯器設置爲錯誤的編碼,同時在XML/HTML文件的頭部聲明所需的編碼。然後,當顯示文件例如在瀏覽器中,字符顯示不正確。 –