问题描述

我有一个 xhtml 页面验证在 xhtml 严格的 doctype – 但是,我收到这个警告,我试图理解 – 并且正确。

只是,我如何找到这个错误的 「Byte-Order 标记」 。我正在使用 Visual Studio 编辑我的文件 – 不知道是否有帮助。

Warning Byte-Order Mark found in UTF-8 File.

The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.

最佳解决方法

您的问题的位置部分很容易:byte-order mark(BOM) 将在文件的开头。

编辑文件时,请转到 File | Advanced Save Options...,您应该找到一个”Encoding” drop-down(连同”Line endings” drop-down) 。它可能设置为使用 「Unicode(UTF-8 带签名) – Codepage 65001」 。如果您向下滚动一下,您可以找到 「Unicode(UTF-8 无签名) – Codepage 65001」 。这应该做 (如果你想) 。某些系统可能会被 UTF-8 文件上的 BOM 所混淆,如警告所示。

有关 BOM 和 UTF-8 文件的 Unicode 站点常见问题,请参见 this note 。除了调用该文件以外,它没有其他功能,实际上是 UTF-8 。特别地,它对字节顺序 (我们有 BOM 的主要原因) 没有影响,因为 UTF-8 的字节顺序是固定的。

次佳解决方法

这是我如何解决这个问题:

  1. 下载并安装 Notepad++

  2. 用记事本++打开文件

  3. 在菜单中选择”Encoding” 并将其设置为 「无需 BOM 的 UTF-8 编码」

  4. 保存文件和 BOM 将会消失。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛