美文网首页
node调用cmd输出乱码解决方案

node调用cmd输出乱码解决方案

作者: renxiaoyao09 | 来源:发表于2020-05-12 14:32 被阅读0次

    简体中文windows命令行,都使用的是CP936(近似于gb2312)编码,nodejs以utf8识别是会出问题。
    可以这样处理:

    var child_process = require('child_process');
    var iconv = require('iconv-lite');
    var encoding = 'cp936';
    var binaryEncoding = 'binary';
    
    child_process.exec('svn log', { encoding: binaryEncoding }, function(err, stdout, stderr){
        console.log(iconv.decode(new Buffer(stdout, binaryEncoding), encoding), iconv.decode(new Buffer(stderr, binaryEncoding), encoding));
    });
    

    先用binary来存储输出的文本,再用iconv来以cp936解析。

    相关文章

      网友评论

          本文标题:node调用cmd输出乱码解决方案

          本文链接:https://www.haomeiwen.com/subject/cjubnhtx.html