我使用派生的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();
我如何获得俄文信件? 谢谢大家)
你可以尝试设置工人编码为ucs2
或utf16le
。 改变这一点
worker.stdout.setEncoding('utf8');
对此
worker.stdout.setEncoding('ucs2');
告诉它是否解决了这个问题。
看问题2190和问题2196 :
Node.js始终期望子进程的UTF-8输出,但带俄语区域的Windows默认为CP866
您需要执行chcp 65001
来更改当前的控制台代码页。
我的解决方案:使用iconv-lite,在控制台中获取俄文文本。