web-dev-qa-db-ja.com

NodeJs-関数fs.writeFileをBOMで書き込む方法

NodeJS v0.8.6とネイティブライブラリfsを使用しています。これが私のコードです:

var filesys = require('fs');
filesys.writeFile('test.txt', 'This is an example with accents : é è à ','utf8', function (err) {});

問題は、BOMなしでutf8で書き込み(確認のためにNotepad ++を使用)、Windowsのワードパッドでは機能しない(アクセントがうまく表示されない)ことです。問題は、ワードパッドを使用して誰かがそのファイルを適切に読み取る必要があることです。

BOMをファイルに追加するにはどうすればよいですか?

26
user706355

UTF-8はBOMを必要としませんが、もちろん自分で追加できます。

filesys.writeFile('test.txt', '\ufeffThis is an example with accents : é è à ','utf8', function (err) {});
36
Esailija

この回答について詳しく説明しました- 文字列/ BlobへのUTF-8 BOMの追加

これは非常にまばらな答えで、なぜ動作するかについては詳しく説明していません。 FEFFバイトは実際にはUTF16LE BOMであるため、前の回答は混乱を招きます。

1
Jeff Fischer