- 破折号(–,
&emdash;
) - 和号(&,
&
) - 三分之四(¾,
¾
)
&emdash;
)&
)¾
)该文章还给出了一个涉及中文编码的好例子。以下是简化版本: UTF-8:维基百科是一个很好的案例研究,它最初使用ISO-8859-1,但在支持外语变得过于繁琐时切换到了UTF-8。机器人现在会浏览文章并将字符实体转换为相应的真实字符,以提高用户友好性和可搜索性。
這兩個字是甚麼意思
HTML 实体:這兩個字是甚麼意思
对于我来说,UTF-8和HTML实体编码都是毫无意义的,但至少UTF-8编码可以被识别为一种外语,并且在编辑框中会正确渲染。文章继续介绍了有关HTML实体编码版本的以下内容:
对于那些真正知道什么是字符实体的人来说,极其不方便,而对于不知道的可怜用户来说则完全无法理解!即使是稍微更加用户友好、“可理解”的字符实体,如θ,也会让不想学习HTML的用户感到困惑。然而,如果他们在编辑框中看到了θ,他们将知道它是一个特殊字符,并相应地处理它,即使他们不知道如何自己写出该字符。
正如其他人指出的,您仍然需要使用HTML实体来保留预留的XML字符(&,小于号,大于号)。
&entity;
语法没有任何风险或无效之处,对吗?虽然出于您列出的原因,纯UTF-8字符更好,但在同一文档中仍然可以使用一些HTML实体,这没有问题吗? - Jacob Ford¾
比在某个Unicode查找表中找到¾字符要容易一些。 - pbarney如果您的编辑器支持Unicode,通常不需要使用HTML字符实体。但在以下情况下,实体可能会很有用:
而不是实际的空格字符,部分原因是因为Firefox会将U+00A0转换为表单中的U+0020。因此,在这种情况下使用该实体是确保源代码在Firefox用户编辑时不会出错的唯一方法。 - Joey<
,而不是 >
(在属性值内只有很少情况下需要转义 "
)。 - Jukka K. Korpela&
而不是&
?这有什么原因吗? - Hashim Aziz&
会存在歧义,因为它既可以是字面上的&
,也可以是实体的开始。在某些情况下,例如如果&
紧接着空格,则不会产生歧义,但总是对其进行编码更安全。 - JacquesB个人而言,我很久以前就开始使用utf-8,但是在html页面中,您始终需要将&、>和<字符转换为它们的等效实体&、>和<
此外,如果您打算使用utf-8文本进行编程,则需要注意一些问题。
实体可能能够为您提供与不正确理解编码的客户端兼容性。我不认为这包括任何当前的浏览器,但您永远不知道其他种类的程序可能会出现问题。
更有用的是,HTML实体可以保护您免受自己的错误影响:如果您在服务器上配置出现错误,并且最终提供了一个带有HTTP标头的页面,该标头显示为ISO-8859-1
和一个META
标签显示为UTF-8
,那么至少您的 —es 将始终起作用。
对于那些在视觉上容易混淆的字符,我不建议使用UTF-8编码。例如,很难区分破折号和减号,尤其是非断空格和空格。针对这些字符,一定要使用实体。
对于那些在视觉上容易理解的字符(如上面的中文示例),如果您喜欢,可以使用UTF-8编码。
HTML实体在生成要包含(动态地)在具有(多个)不同编码的页面中的内容时非常有用。例如,我们有白标内容被包含在ISO-8859-1和UTF-8编码的网页中...
如果字符集从/到UTF-8的转换不是如此混乱不堪(您总是会遇到一些无法正确转换的字符和工具),那么标准化UTF-8将是最好的选择。
之前的回答都很有道理。
另外:这主要取决于你打算使用的编辑器和文档语言。对于编辑器的最低要求是它支持文档语言。也就是说,如果你的文本是日语,请注意不要使用一个不显示它们的编辑器(例如没有实体用于文档本身)。如果是英语,你甚至可以使用一个类似vim的旧编辑器,只为相对罕见的©等实体使用。 当然:>和其他HTML特殊字符仍然需要转义。 但即使是其他拉丁-1语言(德语、法语等),写ä也很让人头疼……
此外,我个人会为看不见的字符和那些与标准ASCII相似并因此容易混淆的字符编写实体。例如,有u1173(在某些字符集中看起来像短横线)或u1175,看起来像竖杠。对于这些字符,我无论如何都会使用实体。