在Windows平台下,Nodejs调用系统命令会发生乱码,改两个地方即可解决问题,
第一个:根目录下的package.json文化
"scripts": {
"start": "chcp 65001 && react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"estart": "electron .",
"estart-win": "chcp 65001 && electron ."
},
在estart下加一个estart-win,命令就是
chcp 65001 && electron .
chcp 65001 && 命令
就是在当前页使用UTF-8格式
第二个就是使用iconvLite进行转换
const {spawn,exec} = require('child_process');
const iconvLite = require('iconv-lite');
var ff=function(event,arg){
const ls = spawn('ipconfig');
ls.stdout.on('data', (data) => {
console.log(`stdout: ${iconvLite.decode(data, 'cp936')}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${iconvLite.decode(data, 'cp936')}`);
});
ls.on('close', (code) => {
console.log(`子进程退出码:${iconvLite.decode(code, 'cp936')}`);
});
}
module.exports.ff = ff