NodeJS readFile在Windows上

时间:2015-09-23 06:37:38

标签: node.js encoding

我一直在运行Windows上的编码问题。

var content = fs.readFileSync("file.txt", 'utf8').toString();
console.log(content)

使用文本" 123"在记事本中创建了file.txt。以上的输出是

??1 2 3

而不是" 123"正如我所料。如果我在Windows上阅读在Mac上创建的文本文件,它可以正常工作。所以它只是Windows创建的文件导致我的问题。

我在网上没有运气就被追捕,包括这篇文章node.js readfile error with utf8 encoded file on windows

我也尝试过toString(' utf8')但没有运气。

稍后在代码中我使用此输入构造一个JSON字符串,它最终为

??1\u00002\u00003\u0000�

育。

我做错了什么?

由于 加里。

1 个答案:

答案 0 :(得分:1)

您链接的问题有您想要的答案。记事本使用byte-order mark (BOM)以2字节编码保存文件。看看this question的答案。