Проблема с крякозябрами может быть связана с тем, что вывод команды "ping" в консоли использует кодировку, отличную от кодировки консоли, которую вы используете. В этом случае вы можете попробовать использовать параметр кодировки в функции spawn, чтобы установить правильную кодировку для вывода. Вот пример кода, который может помочь:
const { spawn } = require('node:child_process');
const iconv = require('iconv-lite');
const command = spawn('ping', ['google.com'], {
stdio: ['ignore', 'pipe', 'ignore'],
encoding: 'win1251' // замените кодировку на нужную
});
command.stdout.on('data', output => {
console.log(iconv.decode(output, 'win1251')); // замените кодировку на нужную
});
Здесь мы используем модуль iconv-lite для декодирования вывода команды с использованием правильной кодировки, установленной в параметре "encoding" функции spawn. В примере мы использовали кодировку "win1251", но замените ее на ту, которую использует вывод команды "ping" в вашей консоли.