出现原因 , 因为CMD默认的是gbk2312 编码 , 而nodejs 默认的是utf-8的格式, 所以在exec 运行的时候接受的cmd命令返回值回事乱码情况
解决方式:
使用 iconv 进行编码转一下
下载:
npm install iconv-lite
使用 :
const iconv = require(‘iconv-lite‘);
childProcess.exec(`dir`,{ encoding: ‘binary‘ },(err, stdout, stderr)=>{ if(err){ // console.log(‘stdout1‘, iconv.decode(o, ‘cp936‘)); console.log(iconv.decode(err, ‘cp936‘)) return false; }else{ let ress = iconv.decode(stdout, ‘cp936‘); } })
嗯, 就这样 , 很简单
原文:https://www.cnblogs.com/sunjinggege/p/12606310.html