0
私はガルプタスクの一部として、コマンドラインスクリプトを実行している:デコードANSI出力を自動的
function runSQLScript(script) {
child_process.execFile('sqlcmd', [
'-S', process.env.DB_SERVER,
'-U', process.env.DB_USER,
'-P', process.env.DB_PASSWORD,
'-d', process.env.DB_DATABASE,
'-f', 'i:65001',
'-i', script
], {
cwd: '../sql/sqlcmd'
//, encoding: "???"
}, function(error, stdout, stderr){
if (error !== null) {
console.log("" + stdout);
console.error("" + error);
}
if (stderr.length>0) {
console.error('' + stderr);
}
});
}
gulp.task('sql', function(){
runSQLScript('install-app.sql');
});
私は、通常のコマンドプロンプトからスクリプトを実行すると、実行ファイルが検出さ適切なエンコーディングで出力します。
ノードはデフォルトでUTF-8とdoesn't seem to support Windows encodingsにデフォルト設定されているので、私のGulpタスクを進める方法はわかりません。
スクリプトの出力をデフォルトのANSIコードページ(私のPCの850で問題がある場合)から適切にデコードするための組み込み方法がありますか、または変換パッケージをインストールしてそれを自分で行う必要がありますか?
Windowsのエンコードはそうでもない東南アジア – slebetman
@slebetmanのヨーロッパ、南北アメリカのほとんどのとほとんどの一般 'latin1'です。西ヨーロッパ(私は他の地域では話すことができません)では、コマンドプロンプトのデフォルト値はCP850(古いMS-DOSコードページ)で、CP1252(古いWindowsコードページ)です。彼らは両方ともLatin-1とは異なる。 –