0

我创建了一个对严格 XHTML 有效并通过验证的网站,但 W3C 验证器告诉我我有一个注释(错误):

在 UTF-8 文件中找到字节顺序标记。

众所周知,UTF-8 编码文件中的 Unicode 字节顺序标记 (BOM) 会导致某些文本编辑器和旧版浏览器出现问题。在得到更好的支持之前,您可能需要考虑避免使用它。

但我的文件中没有 BOM。它是在 VS 中完成的直接 XHTML。

服务器添加了吗?我怎样才能摆脱错误?

这很重要,因为它搞砸了语义提取。http://www.w3.org/2003/12/semantic-extractor.html

4

2 回答 2

2

您的资源中确实有 BOM (EF BB BF)。考虑删除它,也许,使用一些十六进制编辑器。如何从我的 xml 文件中删除 BOM 字符

于 2012-06-19T14:58:30.387 回答
1

W3C 标记验证器不会将 UTF-8 中的 BOM 指示为错误;如果这样做,它本身就是错误的,因为在 UTF-8 数据的开头允许使用 BOM。它发出警告。

该警告已严重过时。多年来在相关浏览器中未发现任何问题。相反,BOM 应该被认为是有用的,因为例如,如果文件保存在本地(因此 HTTP 标头丢失,UTF-8 格式的 BOM 让浏览器可以推断出,实际确定性,该文档是 UTF-8编码。

Semantic 数据提取工具不是很新,而且它的方法过于理论化,但它在 UTF-8 数据开头的 BOM 似乎没有任何问题。

可能是服务器添加了 BOM,或者您的创作工具添加了它。无论哪种方式,它都应该被认为是有用的,而不是一个问题。

于 2012-06-19T17:38:14.743 回答