child_process的启动java,输出结果是乱码
加了options参数 {encoding:‘gb2312’} 也是一样
代码
var process = require('child_process');
var options={encoding:'utf8'};
var java = process.spawn('javac', ['App.java'],options);
java.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
java.on('close', function (code) {
console.log('child process exited with code ' + code);
});
console.log('Spawned child pid: ' + java.pid);
3 回复
var buffer = new Buffer(data);
var str = iconv.decode(buffer, ‘gbk’); 貌似只能强转
node 原生基本只支持utf8 …
var java =spawn(‘javac’,[ ’ -d bin’,’ src\test\Runner.java’ ])
提示stderr: javac: 无效的标记: -d bin 然后转到命令行下执行 javac -bin src\test\Runner.java 就可以 这是什么原因?