From fbd1fa15f5a908b63fd65b85a1d829cfa59c6d67 Mon Sep 17 00:00:00 2001 From: Sergei Ratnikov Date: Tue, 19 Dec 2017 17:48:04 +0300 Subject: [PATCH] Add unicode support for WMI Stub implementation based in VBS. Use /U key in cscript.exe command. --- src/main/java/com/profesorfalken/wmi4java/WMIVBScript.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/profesorfalken/wmi4java/WMIVBScript.java b/src/main/java/com/profesorfalken/wmi4java/WMIVBScript.java index 1d8b9c8..8bd2182 100644 --- a/src/main/java/com/profesorfalken/wmi4java/WMIVBScript.java +++ b/src/main/java/com/profesorfalken/wmi4java/WMIVBScript.java @@ -51,9 +51,9 @@ private static String executeScript(String scriptCode) throws WMIException { writer.close(); Process process = Runtime.getRuntime().exec( - new String[]{"cmd.exe", "/C", "cscript.exe", "/NoLogo", tmpFile.getAbsolutePath()}); + new String[]{"cmd.exe", "/C", "cscript.exe", "/U", "/NoLogo", tmpFile.getAbsolutePath()}); BufferedReader processOutput - = new BufferedReader(new InputStreamReader(process.getInputStream())); + = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-16LE")); String line; while ((line = processOutput.readLine()) != null) { if (!line.isEmpty()) { @@ -63,7 +63,7 @@ private static String executeScript(String scriptCode) throws WMIException { if (scriptResponse.isEmpty()) { errorOutput - = new BufferedReader(new InputStreamReader(process.getInputStream())); + = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-16LE")); String errorResponse = ""; while ((line = errorOutput.readLine()) != null) { if (!line.isEmpty()) {