2012-09-28 97 views
5

我正在製作一個靜態HTML頁面,以多種語言顯示禮貌文本。我注意到,如果我將ウェブサイトのメンテナンスの下で粘貼到Expression Blend中,則該文本在代碼中顯示爲相同。我認爲這對兼容性不利,應該由適當的HTML實體替換。日文文本的HTML編碼

我試過http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/encode.aspx,但它給我返回相同的日文文本。

  1. 從瀏覽器兼容性的角度來看,將日文右鍵粘貼到HTML頁面的源代碼中是否正確?
  2. 否則,該文本的正確HTML編碼是什麼?或者,更好的是,是否有任何工具可用於將非ASCII字符轉換爲HTML實體,可能在線並可能免費?
+3

如何編碼和提供Unicode HTML頁面?這樣,您不必擔心HTML實體。 – Andrew

+0

在完整的旁註中......日語文本有點奇怪。也許更像是ただいマメンテナンス中です或者只是メンテナンスです? – jkerian

+0

我甚至不記得那些文字是什麼,爲什麼我將它粘貼到Blend中:-) –

回答

2

我認爲這對兼容性不好,應該由適當的 HTML實體替換。

恰恰相反實際上,您的偏好應該是不使用HTML實體,而是正確申報文件編碼爲UTF-8和使用的實際字符。有quite a few compelling reasons to do so,但真正的問題是爲什麼不是使用它,因爲它是一個廣泛支持的標準?

這些點have been summarised previously的一些:

UTF-8編碼更容易閱讀和編輯對於那些誰瞭解 字符意味着什麼,並知道如何鍵入它。

UTF-8編碼是一樣的HTML實體編碼 對於那些誰不明白他們作爲不知所云,但他們的 渲染爲特殊字符,而不是很難理解小數 或十六進制編碼的優勢。

[例如]維基百科...實際上通過文章並將 字符實體轉換爲它們對應的真實字符,以便用戶友好和可搜索的 。

1

只要您將您的網頁標記爲UTF-8,無論是在http標頭還是meta標籤中,在您的網頁中都有外來字符應該是沒有問題的。或者你可以編碼/ JavaScript中

encodeURI('ウェブサイトのメンテナンスの下で') 
//returns"%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E4%B8%8B%E3%81%A7" 

decodeURI("%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E4%B8%8B%E3%81%A7") 
//returns ウェブサイトのメンテナンスの下で 

如果你正在尋找一種工具來一堆的靜態字符串轉換爲Unicode字符解碼使用是encodeURI/decodeURI功能這些字符串,你可以簡單地使用是encodeURI/decodeURI功能從網頁開發者控制檯(Mozilla/Firefox的螢火蟲)。希望這可以幫助!

0

只有當您需要表示不能用保存文檔的編碼表示的字符時,HTML實體纔有用。例如,ASCII沒有關於如何表示「€」的說明。如果你想在ASCII編碼的HTML文檔中使用該字符,則必須將其編碼爲€或根本不使用它。

如果您爲文檔使用的字符編碼可以表示您需要的所有字符,例如UTF-8,則不需要HTML實體。您只需確保瀏覽器知道文檔的編碼方式,以便正確解釋它。這真的是最好的方法,因爲它只是保持源代碼可讀。如果你只需要處理實際的字符,那麼想用HTML實體工作真的沒有意義。

有關更多信息,請參見http://kunststube.net/frontback