2011年8月23日

Linux網頁上傳出現亂碼?可能是BOM搞的鬼

最近處理的問題,在windows下開發的網頁一上傳Suse後全部變成??與亂碼
一開始以為是語系設定的問題
仔細一追才發現是BOM的問題

BOM為Byte Order Mark的縮寫
會以字元的形式顯示在檔頭,他的作用是,告訴程式:林盃是UTF-8
,而在windows下的記事本,DW都會自動幫你加上去
問題來了
這種東西雖然方便
Linux卻不一定看得懂,結果一解析變成為亂碼

假如你寫的是php,想要送header會更慘,因為BOM會被當成顯示字元(header必須先於任何畫面呈現之前)
有BOM會造成Header無法作用的情形

client端解法是要存檔時使用無BOM的形式,有幾套軟體可以幫你去除BOM
我是推NotePad++

只要點一下,馬上把UTF-8的BOM去除


GG!!

沒有留言:

張貼留言