nodejs解码(subprocess使用)

我使用派生的JScript(从Windows)我的解码文本的问题

???? ??? T-SQL Microsoft SQL Server 2012

???? ??? – 俄罗斯文本。

var worker,path = require('path'), spawn = require('child_process').spawn, cscript = path.join(process.env.SystemRoot, 'system32', 'cscript.exe') function startCscript() { worker = spawn( cscript, [ '/nologo', 'testwsh.js' ] ); worker.stdout.setEncoding('utf8'); worker.stdout.on( 'data', onData ); } function onData (data) { console.log(data.toString()); } startCscript(); 

我如何获得俄文信件? 谢谢大家)

你可以尝试设置工人编码为ucs2utf16le 。 改变这一点

 worker.stdout.setEncoding('utf8'); 

对此

 worker.stdout.setEncoding('ucs2'); 

告诉它是否解决了这个问题。

看问题2190和问题2196 :

Node.js始终期望子进程的UTF-8输出,但带俄语区域的Windows默认为CP866

您需要执行chcp 65001来更改当前的控制台代码页。

我的解决方案:使用iconv-lite,在控制台中获取俄文文本。