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

时间:2012-03-06 15:48:32

标签: html character-encoding html-entities diacritics

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

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

3 个答案:

答案 0 :(得分:17)

如果文件采用UTF-8编码,则应将Content-Type标头设置为text/html; charset=UTF-8并在页面上具有等效的元标记:

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

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

您需要记住的是法语是UTF-8系列的一部分以及葡萄牙语,西班牙语等,因此它们将正确显示UTF-8标签并提供浏览器也使用UTF-8对于页面。

问题是当使用强制另一个字符集的浏览器的人来到页面时,这将破坏未编码的字符。这在巴西有点发生,其中许多浏览器没有设置为自动检测字符集,并且设置为ISO-8859-1,这在这里很常见。

因此,尽可能编码所有“特殊”字符,以实现最普遍的访问。

我希望有所帮助!