我还应该使用html实体吗?为什么?

时间:2009-02-06 13:13:56

标签: html utf-8 character-encoding

HTML实体是否仍然有用,还是应该简单地创建UTF-8编码的html文档?请解释原因。

3 个答案:

答案 0 :(得分:28)

如果编码设置正确(并且文档保存为UTF-8),您应该只能处理字符。来自W3C:

  

使用UTF-8等编码意味着您可以避免使用大多数转义并只使用字符。

http://www.w3.org/International/questions/qa-escapes

但是,您仍需要将实体用于特殊字符,例如大于/小于。

答案 1 :(得分:7)

实体在程序源代码文件中很有用(在输出HTML的程序中)。许多编码标准都说,文件应该是纯ASCII格式。当然除了实际包含文本内容的文件 - 例如带有翻译的.po文件。

当你有一个内部很少有非ASCII字符的长文件时,很容易以错误的编码保存文件而不会注意到你的角色被搞砸了。

使用非ASCII字符的另一个好理由是看起来很相似的字符。你能看出接下来两行代码之间的区别:

print "<title>" + pagename + " – " + sitename + "</title>";
print "<title>" + pagename + " - " + sitename + "</title>";

但是通过使用实体,差异是显而易见的:

print "<title>" + pagename + " &ndash; " + sitename + "</title>";
print "<title>" + pagename + " - " + sitename + "</title>";

但是在程序源代码文件之外,UTF-8显然是可行的方法。

答案 2 :(得分:4)

根据我的经验,只要您的数据确实是UTF-8并且您正确地告诉浏览器它是UTF-8,那么您不需要使用实体。除了像&amp; gt;,&amp; lt;,&amp; quot;之类的东西。当然。