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

mot*_*bói 22 html utf-8 character-encoding

HTML实体是否仍然有用,或者我应该只创建UTF-8编码的html文档?请解释原因.

Jac*_*ght 29

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

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

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

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


Ren*_*soo 8

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

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

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

print "<title>" + pagename + " – " + sitename + "</title>";
print "<title>" + pagename + " - " + sitename + "</title>";
Run Code Online (Sandbox Code Playgroud)

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

print "<title>" + pagename + " &ndash; " + sitename + "</title>";
print "<title>" + pagename + " - " + sitename + "</title>";
Run Code Online (Sandbox Code Playgroud)

但是在程序源代码文件之外,UTF-8显然是要走的路.


and*_*ncx 5

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