首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在支持Unicode的浏览器时代,HTML中的命名实体仍然是必需的?

在支持Unicode的浏览器时代,HTML中的命名实体仍然是必需的?
EN

Stack Overflow用户
提问于 2018-04-09 00:26:31
回答 2查看 0关注 0票数 0

在过去的几年中,我做了很多PHP编程,但让我烦恼的一件事是对Unicode和多字节字符串的弱支持(当然,本质上没有)。例如,“htmlentities”似乎是PHP世界中一个非常常用的函数,我发现当努力保持每个字符串可本地化,只在数据库中存储UTF-8时,它只会提供UTF -8网页等等。突然间,在你的数据库和浏览器之间的某个地方,假装每个字节都是一个字符,将所有东西混淆起来。

现在还需要写'&auml'吗?我的Firefox能够显示奇怪的亚洲字形,只要它们以适当的编码进行服务即可。

更确切地说:除了显示HTML标签之外其他命名实体都是必需的(如“<”中的&lt;“)

EN

回答 2

Stack Overflow用户

发布于 2018-04-09 09:24:14

不鼓励application/xhtml+xml使用“真正的”XHTML命名实体(即使用更常用的text/html兼容模式,而不使用更常用的兼容模式)。除了在XML本身(定义五&lt;&gt;&amp;&quot;&apos;),他们会都在你使用特定的DOCTYPE的DTD来定义。这意味着浏览器必须明确支持该DocType,这远远不是给定的。另一方面,编号实体显然只需要一个查找表来获得正确的Unicode字符。

至于现在是否还需要实体:可以期望任何现代浏览器都支持UTF-8。因此,只要你可以保证数据库,标记和网络服务器都同意服务,那么就将这些实体抛弃。

票数 0
EN

Stack Overflow用户

发布于 2018-04-09 10:14:02

如果使用XHTML,实际上建议不要使用命名实体。某些浏览器(Firefox)在将其解析为XML(通常不会)时,不会读取DTD文件,因此无法处理这些实体。

无论如何,如果没有其他强制性理由,使用UTF-8作为编码是最好的做法,这只意味着文档的创建者需要一个体面的编辑器。OS X并没有真正存在这个问题,因为大多数需要的字形可以通过“alt”键进行访问,但是Windows没有这个功能。

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

https://stackoverflow.com/questions/-100008001

复制
相关文章

相似问题

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