BOM
故事是這麼開始的:同事 A 將一批在 windows 處理好的文件傳給同事 B,後者欲直接透過程式讀入,卻發現檔頭有奇怪的字元 …
BOM
BOM (byte-order mark),位元組順序記號,是用來標示各 unicode 實作的位元順序,其規範明定在 unicode 規格裡。
怎麼產生的
在 windows 2000 以上的版本的記事本儲存 UTF-8 檔案時,為了跟 ASCII 檔案分別而加入。
習俗
在 unix 世界一般不使用 BOM ,因為這違反了慣例:文件內容需可見。不止如此,BOM 影響 shell 首行的判斷,在 windows script 出問題八成是這貨搞的 …
解決方法
- windows:
- 存檔時選擇『UTF-8 without BOM』。
- 使用 File BOM Detector。
- unix:
-
使用 vi:
vi bomfile :set nobomb :wq
-