最近在windows上使用nodejs做一些小应用,使用中文的时候经常会遇到乱码问题,
比如使用exec方法执行一些系统命令的时候,接收到的stdout内容总是乱七八糟~~
目前总结的比较有效的方法是在所有需要字符串传输的地方都使用iconv进行gbk转码:
exec(cmdStr, {encoding: "gbk"}, function(err, stdout, stderr) {
if (! err) {
console.log(iconv.decode(stdout, "GBK"));
} else {
console.log(iconv.decode(stderr, "GBK"));
}
});
经过处理之后的字符串打印到控制台或者作为服务器响应到客户端都可以完美显示!
转载请注明出处(http://www.qintianxiang.com/archives/252/)