程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP教程:Unicode 簽名(BOM)問題

PHP教程:Unicode 簽名(BOM)問題

編輯:PHP入門知識

被 WordPress 模板的怪異代碼空行折騰半天。

因為 Dansion 師兄的驅使,開始 Dreamweaver 征途。不過很少有人關注到,在 Dreamweaver 中使用 utf-8 編碼保存時,默認會有 "Unicode 標准化表單" 和 "包括 Unicode 簽名 (BOM)" 兩個選項,在頁面屬性裡也可以看到:

如果 "包括 Unicode 簽名" 選項被勾選,會產生稀奇古怪的頁面渲染問題。

什麼是 Unicode 簽名 (BOM)?

BOM (Byte Order Mark) 是 UTF 編碼方案裡用於標識編碼的標准標記。位於文本文件開頭的 2 到 4 個字節,可將文件標識為 Unicode,還標識後面字節的字節順序。由於 UTF-8 沒有字節順序,因此可以選擇添加 UTF-8 BOM。對於 UTF-16 和 UTF-32,這是必需的。

由於這個 BOM 的存在,PHP 會誤認為文本內容已經輸出,因此會對頁面渲染造成影響。據說 PHP6 中已經修復這個問題。

如何防止 Unicode 簽名 (BOM) 對頁面渲染的影響?

以 Dreamweaver 為例,保存 utf-8 編碼的文檔時,不勾選 "包括 Unicode 簽名 (BOM)" 選項即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved