Javascript 如何从node.js文件中读取非英语字符,如:“Ä,ö”

Javascript 如何从node.js文件中读取非英语字符,如:“Ä,ö”,javascript,node.js,file,Javascript,Node.js,File,在node.js中读取JSON文件时,非英语字符显示为“?”而不是原始字符。 流的结果已在错误的字符集中 var fs = require('fs'); var path = require('path'); var stream = fs.createReadStream(path.join(__dirname,'../data.json'), 'utf8'); stream.on('error', function (error) { respon

在node.js中读取JSON文件时,非英语字符显示为“?”而不是原始字符。 流的结果已在错误的字符集中

var fs = require('fs');
var path = require('path');

var stream = fs.createReadStream(path.join(__dirname,'../data.json'), 'utf8');

        stream.on('error', function (error) {
            response.status(500).send({ msg: error.message });
        })

        stream.pipe(response);
    }
}
文件示例:


您需要考虑您试图读取的文件的大小

假设您使用

fs.readFile("test.txt", function(err, data) {
   console.log( data );
});
您只需添加“utf8”参数即可指定您正在尝试读取文件:


另请参见。

您如何阅读JSON,post代码。我在问题中发布了代码。请提供此文件要点的示例。我在question@Sari如果在浏览器中看到错误的字符,请检查我的答案,否则请指定流的结果是否已在错误的字符集中。
fs.readFile("test.txt", function(err, data) {
   console.log( data );
});
fs.readFile("test.txt", 'utf8', function(err, data) {
   console.log( data );
});