node.js读取文件中文乱码问题
出现乱码原因:
在windows中,默认的中文编码方式是根据系统的locale决定的,中文系统中的默认的编码方式为gb2312而不是utf-8
解决方法:
- 如果读取的文件在本地,将读取的源文件格式存储为utf8编码格式,读取源文件的js文件也存储为utf-8编码格式,就可以避免中文乱码显示
- 若读取的文件不在本地,我们可以引入一个模块—-纯Jvascript转换编码的模块icon-lite,该模块可以实现windows的转换,通过npm可以安装此模块,bufferhelper是一个操作buffer的加强类
代码
npm install iconv-lite
npm install bufferhelper
//同步读取
var data = fs.readFileSync(“input.txt”);
var buff = new Buffer(data,’binary’);
var strr = iconv.decode(buff,’gbk’);
console.log(“同步读取:”+strr);
解决思路:读取文件->按二进制编码->再按utf-8编码
本文探讨了Node.js在Windows环境下读取文件时遇到的中文乱码问题,并提供了解决方案。介绍了如何通过更改文件编码格式及使用iconv-lite模块进行编码转换来避免乱码现象。
862

被折叠的 条评论
为什么被折叠?



