nodejs SPAWN出现乱码的解决方案
作者:一曲歌长安
文章介绍了在Node.js中使用spawn方法调用子进程时出现乱码的问题,并提供了两种解决方法:指定'utf8'编码和使用exec方法
nodejs SPAWN出现乱码
如果您使用 spawn 方法在 Node.js 中调用子进程,并且在输出中出现乱码,可能是因为您未正确设置编码。
您可以通过在调用 spawn 时指定 'utf8' 作为第二个参数来解决这个问题。
例如
const spawn = require('child_process').spawn;
const ls = spawn('ls', ['-lh', '/usr'], { encoding: 'utf8' });这样,您就可以通过对 stdout 和 stderr 使用 .toString() 方法将其输出转换为字符串,而不是原始的 Buffer 对象。
另外
您还可以使用 exec 方法替代 spawn,因为 exec 默认使用 UTF-8 编码。
但是,exec 的性能可能略逊于 spawn。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
