2011-01-12 82 views
2

当编写一个HTML文件,是可以接受使用直接的特殊字符,例如用变音符号下方为常规文本的captial字母C:Ç或使用这种性格特征的HTML Entity name&CcedilHTML和字符编码VS HTML实体

我已经看到两者都在实践中使用,但肯定有规则来管理这种适当的使用方式,以及相对于另一种方式的优点。例如,这个网站维护这个角色的原始形式,但其他网站最终可能会将其渲染为方块。

+0

如果有疑问,如果需要这种耐心和你”不确定实体名称,您始终可以使用数字实体:“Ç”(charcode 199)可以表示为“Ç”(十进制)或“Ç”(十六进制)。该转换可以通过简单的转换脚本完成。 – bart 2011-01-12 18:23:45

+0

你应该小心这一点,我已经看到网上的JavaScript在某种程度上混淆了转换。 – Incognito 2011-01-12 18:40:03

回答

2

这一切都取决于文档的字符编码。如果您不确定是否应该使用常规文本或编码版本,则可以通过W3C Validator运行您的页面。

考虑以下代码:

<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <title>Stuff</title> 
</head> 
<body> 
<p>©</p> 
<p>&#169;</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.

4

如果使用UTF-8字符编码,则大多数实体字符(除&amp;,&gt;&lt;之外)变得多余。

如果你不使用UTF-8,那么你需要一切的实体。

+0

“使用UTF-8编码”在这里意味着“以UTF-8编码方式为您的页面提供服务”。 – 2011-01-12 16:11:59

6

真实人物:

  • 更容易,如果你的系统设置为使用这些字符
  • 产生更多可读的代码语言输入
  • 保存字节

HTML实体:

  • 让你m矿石或更少忘记字符编码

显然,在HTML特殊含义(<&等)字符仍然需要通过实体来表示。