NodeJs - 如何使用BOM编写函数fs.writeFile?

时间:2012-12-13 11:49:57

标签: node.js utf-8 byte-order-mark

我正在使用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上的wordpad中不起作用(重音没有很好地显示)。问题是我需要womeone使用wordpad很好地阅读该文件。

如何将BOM添加到我的文件中?

2 个答案:

答案 0 :(得分:34)

UTF-8不需要bom,但你可以自己添加它。

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

答案 1 :(得分:1)

我详细阐述了这个答案 - Adding UTF-8 BOM to string/Blob

这是一个非常稀疏的答案,没有详细说明为什么这有效。 FEFF字节实际上是UTF16LE BOM,因此之前的答案令人困惑。