我正在使用其他JavaScript文件串聯的Javascript文件。從文件中刪除多個BOM
不幸的是,將這些JavaScript文件連接在一起的人在閱讀文件時沒有使用正確的編碼,並且允許將每個JavaScript文件的BOM寫入連接的JavaScript文件。
有誰知道一個簡單的方法來搜索連接文件並刪除任何/所有BOM標記?
對於Mac OSX使用PHP或bash腳本會很好。
我正在使用其他JavaScript文件串聯的Javascript文件。從文件中刪除多個BOM
不幸的是,將這些JavaScript文件連接在一起的人在閱讀文件時沒有使用正確的編碼,並且允許將每個JavaScript文件的BOM寫入連接的JavaScript文件。
有誰知道一個簡單的方法來搜索連接文件並刪除任何/所有BOM標記?
對於Mac OSX使用PHP或bash腳本會很好。
參見:Using awk to remove the Byte-order mark
從任何地方的文本文件,你可以嘗試類似的東西內刪除多個材料明細表。剛剛離開了^
錨:(。這個編輯就地文件,但創建一個備份file.js~
)
perl -e 's/\xef\xbb\xbf//;' -pi~ file.js
我也想通了這個解決方案,它在PHP完全工作:
$packed = pack("CCC",0xef,0xbb,0xbf);
$contents = preg_replace('/'.$packed.'/','',$contents);
鍵入'「\ xef \ xbb \ xbf」'可能會更容易,請參閱[雙引號字符串轉義](http://www.php.net/manual/en/language.types.string.php#language.types .string.syntax.double)。 – Wrikken 2012-02-01 19:32:52
取BOM文件
grep -rIlo $’^\xEF\xBB\xBF’ ./
刪除BOM文件
grep -rIlo $’^\xEF\xBB\xBF’ . | xargs sed –in-place -e ‘s/\xef\xbb\xbf//’
排除的.svn目錄
grep -rIlo –exclude-dir=」.svn」 $’^\xEF\xBB\xBF’ . | xargs sed –in-place -e ‘s/\xef\xbb\xbf//’
有你使用記事本tryed ++,Encodage>選擇一個認爲應該在那裏,將其轉換回UTF8,NoBoms – 2012-02-01 18:05:21
什麼是編譯JavaScript文件?你當然是指串聯或什麼? – mario 2012-02-01 18:11:34
是的,連接,編輯。 – 2012-02-01 18:14:25