当前位置: 代码迷 >> 综合 >> child_process.spawn中文乱码
  详细解决方案

child_process.spawn中文乱码

热度:78   发布时间:2024-02-21 11:34:23.0

在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