我创建了一个对严格的XHTML有效且通过验证的网站,但是W3C验证器告诉我我有一个注释(错误):
在UTF-8文件中找到的字节顺序标记。
已知UTF-8编码文件中的Unicode字节顺序标记(BOM)会导致某些文本编辑器和旧版浏览器出现问题。在更好地支持之前,您可能需要考虑避免使用它。
但我的文件中没有BOM。这是在VS中完成的直接XHTML。
服务器是否添加了它?我该如何摆脱错误?
这很重要,因为它搞砸了语义提取。 http://www.w3.org/2003/12/semantic-extractor.html
答案 0 :(得分:2)
您的资源中有BOM(EF BB BF)。考虑使用某个十六进制编辑器删除它。 How do I remove the BOM character from my xml file
答案 1 :(得分:1)
W3C标记验证器不会将UTF-8中的BOM表示为错误;如果确实如此,它本身就会出错,因为在UTF-8数据开始时允许使用BOM。它会发出警告。
警告严重过时。多年来在相关浏览器中没有发现任何问题。相反,BOM应被视为有用,因为例如,文件在本地保存(因此丢失了HTTP标头,UTF-8格式的BOM使浏览器可以确切地推断文档是UTF-8编码的。
语义数据提取工具不是最新的,并且它受到过于理论化的影响,但在UTF-8数据开始时它似乎没有任何BOM问题。
服务器可能会添加BOM,或者您的创作工具会添加它。无论哪种方式,它都应该被认为是有用的,而不是问题。