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

时间:2017-05-02 22:49:40

标签: 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) {
            response.status(500).send({ msg: error.message });
        })

        stream.pipe(response);
    }
}

文件示例:

   {  
       data: [  
          {"id":"111","name":"Dr. Per Änglund","phone":"7350-01794"},  
          {"id":"22","name":"Lars Änglund","phone":"1942-463945"}  
      ]  
   }

1 个答案:

答案 0 :(得分:1)

您需要考虑您尝试阅读的文件的encoding

假设您使用

阅读文件
'utf8'

您只需添加fs.readFile("test.txt", 'utf8', function(err, data) { console.log( data ); }); 参数即可指定您尝试阅读UTF-8文件:

{{1}}

另见this question