我使用spawn for 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();
我如何获得俄文字母?谢谢大家)
答案 0 :(得分:0)
您可以尝试将工作线编码设置为ucs2
或utf16le
。
改变这个
worker.stdout.setEncoding('utf8');
到这个
worker.stdout.setEncoding('ucs2');
告诉它是否解决了这个问题。
答案 1 :(得分:0)
Node.js总是期望来自子进程的UTF-8输出,但是 具有俄语语言环境的Windows默认为CP866
您需要执行chcp 65001
来更改当前的控制台代码页。
答案 2 :(得分:0)
我的解决方案:使用iconv-lite,在控制台中获取俄语文本。