问题描述
用nodejs console.log()的时候,经常把中文打印成乱码,一猜就是哪哪儿都有的编码问题!!!
解决办法
简体中文windows命令行,都使用的是CP936(近似于gb2312)编码,nodejs以utf8识别是会出问题。
可以这样处理:
先用binary来存储输出的文本,再用iconv来以cp936解析。具体代码如下:
const iconv = require("iconv-lite");
const output = xxxx;//返回带中文的字符串
console.log(iconv.decode(Buffer.from(output, 'binary'), 'cp936'))
上面 output 就是你想显示,但是直接console.log();会显示乱码的内容!