關於文件的UTF-8的BOM標記問題記錄

在svn上提交了一個文件trac進行codereview 的時候,發現其中的中文是亂碼,猜測是文件編碼的問題,用emedit查看之後,發現這個文件的編碼時utf-8 (無bom)格式,然後對比了一下其它顯示正確的文件格式:utf-8(含bom),問題就是bom有無的問題,使用emedit保存完後,調查了一下這個bom是什麼.

"UTF- 8編碼的文件中,BOM佔三個字節。如果用記事本把一個文本文件另存爲UTF-8編碼方式的話,用UE打開這個文件,切換到十六進制編輯狀態就可以看到開 頭的FFFE了。這是個標識UTF-8編碼文件的好辦法,軟件通過BOM來識別這個文件是否是UTF-8編碼,很多軟件還要求讀入的文件必須帶BOM。可 是,還是有很多軟件不能識別BOM。"

"UTF-8 BOM又叫UTF-8 簽名,其實UTF-8的BOM對UFT-8沒有作用,是爲了支援UTF-16,UTF-32才加上"


才發現這個bom在utf-8格式的文件中代表了頭三個字節“EF BB BF”,很多文件就沒有這個概念,經常會被當做數據進行處理。php好像暫時不支持,不能處理帶bom的utf-8文件。

所以說,數據文件最好不要帶bom,當然你如果知道bom,處理程序中做了處理那就是另一說了。,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章