問題描述

我有一個 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇