http://blog.roodo.com/jaceju/archives/1100799.html
其實我對 BOM 也不是很熟,還是看看上面專業的文章介紹吧,當 PHP 要用到 Header 還是 SESSION COOKIE 之類的,前面不可有任何輸出(譬如session_start),出現這種問題大多都跟這個 BOM 有關(UltraEdit在存檔時下面類型可選無BOM)
一存完會看到檔頭有少掉幾個字,如果這時補回來之後又會恢復之前的問題(這我不知道該怎麼做才對)
我的做法是存完無 BOM 之後把檔關掉再重開,前面那幾個字又回來了。
除了會影響到 PHP 程式之外,BOM 還會影響到頁面輸出,會多跑出一行空白來,如果不知道的話可能會抓錯誤抓到吐血 ...
這問題好像在 BIG5(存成ANSI/ASCII)比較不會有
但當把 BIG5 檔存成 UTF8,就會跑出這樣的問題(因為自己在套一些頁面時需要轉 UTF8,就要執行這樣得動作),即使是靜態頁面也一樣,不然會莫名跑出一行空白。
這是個滿基本的東西,不過在 PHP 版每過一陣子總會有人問,也就只有這類問題是我比較有自信可以回的 Orz ...
5 則留言:
朋友泥好阿~我在熟版看到你的自介,我也是一年都會出國幾次的人~所以過來晃晃你的網頁.......希望以後可以多交流,雖然我一點都不會寫程式啦,汗顏...哈哈,很高興認識你。
Hi ! 有這方面可以問問我呀 ~ 是呀,我超愛出國的 :D
下次可以多交流,如果你想要弄什麼有關資料庫的也可以問一下 ~ 都是鄉民嘛 ~
大家各有所長呀 ~
搜索UltraEdit里的BOM不小心到你這兒來了哈。區別好像在於有BOM保存里英文字母是一個字節,漢字是3個字節,文件開頭沒有FFFE,而無BOM文件開頭有FFFE,英文和漢字都是兩個字節。以上是我保存文件時候發現的,不過還是沒懂BOM的確切含義
剛說反了。
無BOM保存里英文字母是一個字節,漢字是3個字節,文件開頭沒有FFFE,而有BOM文件開頭有FFFE,英文和漢字都是兩個字節。
大大真是相見恨晚阿!!
我抓頁首多出空白來(我一直以為是上方margin出錯了...一直找CSS)
Bug抓到後來找到了BOM這個問題,才發現你的網頁...@@
張貼留言