我正在处理大量HTML文件,这些文件大多编码为utf-8。有很多重音字符,因为许多都是法语。我一直在将它们转换为HTML实体,但我注意到即使在IE5.5中(根据IE测试人员),未转换的重音字符也能正常显示。
我是否应该关注字符显示并将它们全部转换为HTML实体只是为了安全起见?
答案 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,这在这里很常见。
因此,尽可能编码所有“特殊”字符,以实现最普遍的访问。
我希望有所帮助!