[心得] php 濾掉 UTF-8 檔案的 BOM 字元

看板PHP作者 (申谷林)時間19年前 (2006/07/19 20:08), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串1/1
  一點小小心得,還請各位先進不吝指教。   這個方法僅適用於主機在你掌握之中的情況下,主要的原理是利用 php 下的    auto_prepend 與 auto_append 的設定,在 unicode 文件輸出到 browser   之前,把所有的 BOM 字元先濾掉。   步驟︰    1. 新增 prepend.php 檔,內容如下︰    <?php    ob_start();    ?>    2. 新增 appane.php 檔,內容如下︰   <?php    $contents = ob_get_contents(); $output = ''; $bom = chr(0xEF) . chr(0xBB) . chr(0xBF); $contents = str_replace($bom, '', $contents); ob_end_clean(); echo $contents;    ?>    3. 將上述兩個檔放在特定資料夾下,如 c:\bom    4. 在 php 的 php.ini 設定檔下,找到 auto_prepend_file 與     auto_append_file 設定,更改如下︰    auto_prepend_file = "c:\bom\prepend.php"     auto_append_file = "c:\bom\append.php"   當然這樣的做法會拖慢網頁速度啦,因為每次主機都要花額外的時間來處理 過濾的動作。算是偷吃步的方法囉 :D -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.130.54

07/19 20:25, , 1F
直接不放bom... ...
07/19 20:25, 1F

07/19 20:27, , 2F
我會這樣子做是有苦衷滴......
07/19 20:27, 2F

07/19 21:37, , 3F
那辛苦你了... .. 拍
07/19 21:37, 3F

07/19 23:19, , 4F
BOM一定是那三個字元?那還真是不錯的除BOM法(筆記..)
07/19 23:19, 4F

07/20 00:11, , 5F
詳細 BOM 的資訊可以看這兒︰http://tinyurl.com/kkxfe
07/20 00:11, 5F

07/20 00:12, , 6F
我記得有 script 可以掃描後一次清除說
07/20 00:12, 6F

07/20 00:18, , 7F
是有沒錯 不過我是因為多人開發 再加上使用 smarty
07/20 00:18, 7F

07/20 00:18, , 8F
大小子樣版互相 include...常常會破版
07/20 00:18, 8F

07/20 00:19, , 9F
這算是暫時的權宜之計吧 等要結案時再一次濾所有檔案
07/20 00:19, 9F
文章代碼(AID): #14lY3PSF (PHP)
文章代碼(AID): #14lY3PSF (PHP)