diff --git a/lib/platform/process.dart b/lib/platform/process.dart index 23def47..29c4837 100644 --- a/lib/platform/process.dart +++ b/lib/platform/process.dart @@ -3,6 +3,10 @@ import 'dart:io'; import 'dart:convert'; import 'dart:math'; +import 'package:dart_framework/charset/euc_kr.dart'; +import 'package:dart_framework/charset/euc_kr_table.dart'; +import 'package:dart_framework/cp949.dart'; + class ProcessData { late Process process; late File file; @@ -192,14 +196,17 @@ class ProcessExecutor { file.writeAsStringSync(shell.toString()); await Process.run('cmd', ['/C', file.path], workingDirectory: workspace, - stdoutEncoding: Encoding.getByName("euc-kr")) + stdoutEncoding: Encoding.getByName("euc-kr"), + stderrEncoding: Encoding.getByName("euc-kr")) .then((ProcessResult result) { processResult = result; }); if (printStdout) { + List out = processResult!.stdout; + List err = processResult!.stderr; print( // ignore: prefer_interpolation_to_compose_strings - '[ProcessExecutor] Exit Code: ${processResult!.exitCode}, Result: ${processResult!.stdout}\nError: ${processResult!.stderr}'); + '[ProcessExecutor] Exit Code: ${processResult!.exitCode}, Result: ${eucKr.decode(out)}\nError: ${eucKr.decode(err)}'); } file.deleteSync(); c.complete(processResult);