2012-08-30 28 views
3

我對node.js使用較少的編譯器,並且我知道使用BOM以UTF-8編碼的文件存在問題。爲此,這個解決辦法的偉大工程:無法導入以UTF-8編碼的較少文件BOM

data = data.replace(/^\uFEFF/, ''); // Strip potential BOM 

但是,導入文件時,使用@import語句仍然給出了第一行語法錯誤。有沒有辦法解決這個問題呢?

回答

0

A BOM在UTF-8文件中沒有任何意義。

您應該修復源文件,因爲很多其他工具會(正確)對此BOM有問題。所有嚴肅的編輯者都能夠在沒有BOM的情況下編寫UTF-8文件。

如果必須接收和處理這些文件,你應該automaticaly使用例如(在作品的拷貝操作,如果需要的話)解決這些問題:

awk '{if(NR==1)sub(/^\xef\xbb\xbf/,"");print}' INFILE > OUTFILE 

(從Using awk to remove the Byte-order mark拍攝)

+0

我不會控制所有的輸入文件在這裏,所以我不能立足於使用的編輯器的解決方案,我害怕。 –

+0

難道你不能(自動)製作這些文件的副本,並在它們進入構建鏈之前修復它們嗎? –

+0

我想這是一個解決方案,但我想我最好等待一個新的版本或嘗試更改源代碼:) –