當編寫一個HTML文件,是可以接受使用直接的特殊字符,例如用變音符號下方爲常規文本的captial字母C:Ç
或使用這種性格特徵的HTML Entity name,Ç
?HTML和字符編碼VS HTML實體
我已經看到兩者都在實踐中使用,但肯定有規則來管理這種適當的使用方式,以及相對於另一種方式的優點。例如,這個網站維護這個角色的原始形式,但其他網站最終可能會將其渲染爲方塊。
當編寫一個HTML文件,是可以接受使用直接的特殊字符,例如用變音符號下方爲常規文本的captial字母C:Ç
或使用這種性格特徵的HTML Entity name,Ç
?HTML和字符編碼VS HTML實體
我已經看到兩者都在實踐中使用,但肯定有規則來管理這種適當的使用方式,以及相對於另一種方式的優點。例如,這個網站維護這個角色的原始形式,但其他網站最終可能會將其渲染爲方塊。
這一切都取決於文檔的字符編碼。如果您不確定是否應該使用常規文本或編碼版本,則可以通過W3C Validator運行您的頁面。
考慮以下代碼:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Stuff</title>
</head>
<body>
<p>©</p>
<p>©</p>
</body>
</html>
文件編碼設置爲UTF-8,當它驗證,它會返回一個錯誤:
Sorry, I am unable to validate this document because on line 7 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.
如果使用UTF-8字符編碼,則大多數實體字符(除&
,>
和<
之外)變得多餘。
如果你不使用UTF-8,那麼你需要一切的實體。
「使用UTF-8編碼」在這裏意味着「以UTF-8編碼方式爲您的頁面提供服務」。 – 2011-01-12 16:11:59
真實人物:
HTML實體:
顯然,在HTML特殊含義(<
,&
等)字符仍然需要通過實體來表示。
如果有疑問,如果需要這種耐心和你」不確定實體名稱,您始終可以使用數字實體:「Ç」(charcode 199)可以表示爲「Ç」(十進制)或「Ç」(十六進制)。該轉換可以通過簡單的轉換腳本完成。 – bart 2011-01-12 18:23:45
你應該小心這一點,我已經看到網上的JavaScript在某種程度上混淆了轉換。 – Incognito 2011-01-12 18:40:03