問題描述

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