首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么时候应该使用HTML实体?

什么时候应该使用HTML实体?
EN

Stack Overflow用户
提问于 2009-01-12 19:15:19
回答 8查看 26K关注 0票数 128

这让我困惑了一段时间。随着UTF-8作为web开发的事实标准的出现,我不确定在哪些情况下应该使用HTML实体,以及在哪些情况下应该只使用UTF-8字符。例如,

分数em破折号( ¾),&emdash;)

  • ampersand (&,&)

  • 3/4 -

请务必阐明这个问题。我会很感激的。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-01-12 19:47:44

如果您的编辑器支持Unicode,则通常不需要使用HTML字符实体。在以下情况下,实体可能非常有用:

  • 您的键盘不支持您需要键入的字符。例如,许多键盘没有破折号或版权符号。
  • 你的编辑器不支持Unicode (几年前很常见,但今天可能不支持)。
  • 你想在源代码中明确说明正在发生的事情。例如, 代码比相应的空白字符更清晰。
  • 您需要转义<&或HTML等特殊字符
票数 87
EN

Stack Overflow用户

发布于 2009-01-12 19:19:29

根据我收到的评论,我对此进行了更深入的研究。目前看来,的最佳实践是放弃使用HTML,而使用实际的UTF8字符代替。列出的原因如下:

对于那些理解字符含义并知道如何键入字符的人来说,

  1. UTF-8编码更易于阅读和编辑。对于不理解字符的人来说,
  2. UTF-8编码与HTML 8编码一样难以理解,但它们的优点是可以呈现为特殊字符,而不是难以理解的十进制或十六进制编码。

只要页面的编码正确设置为UTF-8,就应该使用实际的字符,而不是HTML实体。我读了几篇关于这个主题的文档,但最有帮助的是:

摘自UTF-8:字符编码的秘密文章:

对于最初使用

-8859-1的应用程序来说,used是一个很好的案例,但当它变得太麻烦而无法支持外语时,就切换到了UTF8。出于用户友好性和可搜索性的考虑,机器人现在实际上将遍历文章并将字符实体转换为相应的真实角色。

那篇文章还给出了一个关于中文编码的很好的例子。这是一个为了懒惰而缩写的例子:

UTF-8:

這兩個字是甚麼意思

超文本标记语言实体

&#36889;&#20841;&#20491;&#23383;&#26159;&#29978;&#40636;&#24847;&#24605;

UTF-8和HTML实体编码对我来说都没有意义,但是至少可以将UTF-8编码识别为一种外语,并且它可以在编辑框中正确呈现。本文接着介绍了以下关于HTML实体编码版本的内容:

对于我们这些真正知道字符实体是什么的人来说是非常不方便的,对于不知道的可怜的用户来说是完全不能理解的!即使是像θ这样稍微更加用户友好、“易懂”的字符实体,也会让那些对学习HTML不感兴趣的用户感到挠头。另一方面,如果他们在编辑框中看到θ,他们就会知道这是一个特殊字符,并对其进行相应处理,即使他们自己不知道如何书写该字符。

正如其他人所指出的,对于保留的XML字符(与号、小于、大于),仍然必须使用HTML实体。

票数 123
EN

Stack Overflow用户

发布于 2009-01-12 19:24:26

实体可能会为你带来一些与那些不能正确理解编码的脑死亡客户端的兼容性。我不相信这包括任何当前的浏览器,但你永远不会知道其他类型的程序可能会击中你。

不过,更有用的是,HTML实体可以保护您免受自己的错误的影响:如果您在服务器上错误配置了某些内容,并且最终使用HTTP头和META标记提供一个页面,说明它是ISO-8859-1UTF-8,那么至少您的-es将始终有效。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/436615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档