我們經常會在發現頁面中無故多了一些空白行了,但在編輯器中又看到到,這個我們知道是由BOM(UTF-8)導致的.
我最常用的辦法,利用php替換.
BOM: 萬國碼檔案簽名 BOM (Byte Order Mark, U+FEFF)
BOM 的內容可以表示 UNICODE 是哪種編碼,但是在接收到的檔案,要拆解后寫入 DB,看到 BOM 就覺得有點 ooxx.
在 utf8_encode 看到兩段程式可以來測試 寫入/移除 BOM.將寫入的檔案內容前加 BOM,代碼如下:
- <?php
- function writeUTF8File($filename,$content)
- {
- $f = fopen($filename, 'w');
- fwrite($f, pack("CCC", 0xef,0xbb,0xbf));
- fwrite($f,$content);
- fclose($f);
- }
- ?>
移除 BOM function,代碼如下:
- <?php
- function removeBOM($str = '')
- {
- if (substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
- $str = substr($str, 3);
- }
- return $str;
- }
- ?>
另外看到,判斷此字串是不是 UTF-8 的 function,代碼如下:
- function isUTF8($string)
- {
- return (utf8_encode(utf8_decode($string)) == $string);
- }
利用ultraedit編輯器直接修改文檔
把出現空行的文檔另存沒沒有BOM的格式就行了,ultraedit保存文檔時的編碼格式,選擇里面的UTF8-無BOM,一切解決.
新聞熱點
疑難解答