CNode

nodejs如何读取文件里中文字符

Sshmnh发布于14 年前最后回复14 年前2 回复14753 浏览0 收藏

var fs = require('fs');
var file = fs.readFileSync('c:\test.txt', "utf8");
console.log(file);

test.txt内容:hello您好

如果文件中是字母的话,可以读出。例如:hello 如果含有中文就是 hello���� 了

请问如何读取中文字符,谢谢!

查看回复

回复 (2)

J
jiyinyiyong#1·14 年前

还不知道原来文件的编码是什么, Linux 是用的utf-8, 没遇到过这个问题
一直好奇乱码怎么样换算推测编码...

X
xqunix#2·14 年前

在 windows 中,默认的文本编码方式是根据系统的 locale 决定的,中文系统中默认的编码方式为 gb2312 而不是 utf-8。

@jiyinyiyong 编码检测可以使用 jschardet ,它是从 python 的 chardet 的模块移植而来的,但是估计和 chardet 存在同样的问题,就是只能识别 gb2312,无法正确识别其超集 gbk 和 gb18030。

参与回复
登录后即可参与回复。登录