所有重音字符都应该使用html实体吗?

所有重音字符都应该使用html实体吗?,html,character-encoding,html-entities,diacritics,Html,Character Encoding,Html Entities,Diacritics,我正在处理大量的HTML文件,这些文件大多编码为utf-8。在法语中有很多口音的字符。我一直在将它们转换为HTML实体,但我注意到即使在IE5.5(根据IE tester)中,非转换重音字符也能正确显示 为了安全起见,我是否应该关注字符显示并将它们全部转换为HTML实体?您需要记住的是,法语与葡萄牙语、西班牙语等都是UTF-8系列的一部分,因此,如果浏览器也使用UTF-8来显示页面,那么它们将正确显示,并带有UTF-8标记 问题是,当一个人使用浏览器强制另一个字符集进入页面时,这将破坏未编码的字

我正在处理大量的HTML文件,这些文件大多编码为utf-8。在法语中有很多口音的字符。我一直在将它们转换为HTML实体,但我注意到即使在IE5.5(根据IE tester)中,非转换重音字符也能正确显示


为了安全起见,我是否应该关注字符显示并将它们全部转换为HTML实体?

您需要记住的是,法语与葡萄牙语、西班牙语等都是UTF-8系列的一部分,因此,如果浏览器也使用UTF-8来显示页面,那么它们将正确显示,并带有UTF-8标记

问题是,当一个人使用浏览器强制另一个字符集进入页面时,这将破坏未编码的字符。这种情况在巴西也有发生,很多浏览器都没有设置为自动检测字符集,而是设置为ISO-8859-1,这在这里很常见

因此,在可能的情况下,对所有“特殊”字符进行编码,以实现最普遍的访问


我希望这有帮助

如果文件是UTF-8编码的,则应将
内容类型
标题设置为
text/html;charset=UTF-8
,并在页面上具有等效的元标记:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


这为浏览器提供了正确显示UTF-8字符的所有信息。无需对重音字符进行编码。

通常没有理由对重音字母等字符使用实体。使用它们是有效的,但往往会混淆源代码,因此可能会导致错误


然而,在某些情况下,需要实体。原因与浏览器无关,而是与创作方面有关。特别是,如果需要使用不能很好地处理重音字母的编辑器或创作程序来编辑文件,您可能会发现实体很有用。如果数据必须通过一些有类似问题的软件,也同样适用。在某些情况下,您需要在无法控制HTTP头的环境中工作,而头指定的编码不允许您直接输入所有字符。

您知道什么情况会导致浏览器强制另一个字符集吗?有两个因素,第一种也是最常见的一种是,某些语言中的某些浏览器不使用UTF-8作为默认值,因为它们不是UTF-8语言,或者UTF-8不像这些国家的其他字符集那样常见,第二种是用户偏好,例如,一个站点需要更改字符集,而用户忘记将其更改回来。我一直认为这个元标记本身是相当无用的。为了让浏览器读取标记,它必须通过另一种方式知道或猜测字符集,并且至少“足够接近”。