当编写一个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