close

PHP檔案如果使用了加上BOM標記的utf8編碼檔案, 在同一檔案中如果想要修改 header(例如利用header轉向), 就會出現錯誤, 因為加上了BOM標記的utf8編碼檔案會先把位於檔案一開頭的BOM標記當成是空白送出(算起來應該是bug吧?!)

有好心人留言回應建議了一個方式, 在該檔案的一開頭就利用 ob_start() 開啟緩衝, 用來避免這個問題!
可行嗎?
其實不行, 除非是在PHP.ini中事先設定開啟 output buffering, 讓加上BOM標記的utf8檔送出的空白不至於影響 header的修改,否則在檔案中利用 ob_start() 開啟緩衝是於事無補, 因為早在 ob_start() 被執行前, php檔案一開啟之後那個BOM標記早就被送出去了。


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jikky 的頭像
    Jikky

    咖啡戒斷症候群

    Jikky 發表在 痞客邦 留言(1) 人氣()