--- old/src/java.base/share/classes/sun/launcher/LauncherHelper.java 2015-07-07 17:00:18.982244300 +0300 +++ new/src/java.base/share/classes/sun/launcher/LauncherHelper.java 2015-07-07 17:00:18.729944300 +0300 @@ -589,6 +589,7 @@ } private static final String encprop = "sun.jnu.encoding"; + private static final String encprop_unicode = "file.encoding.unicode"; private static String encoding = null; private static boolean isCharsetSupported = false; @@ -599,7 +600,17 @@ static String makePlatformString(boolean printToStderr, byte[] inArray) { initOutput(printToStderr); if (encoding == null) { - encoding = System.getProperty(encprop); + if (Boolean.getBoolean("windows.UnicodeConsole")) { + encoding = System.getProperty(encprop_unicode); + if (encoding == null || !Charset.isSupported(encoding)) { + encoding = Charset.defaultUnicodeCharset().name(); + } + if (!Charset.isSupported(encoding)) { + encoding = System.getProperty(encprop); + } + } else { + encoding = System.getProperty(encprop); + } isCharsetSupported = Charset.isSupported(encoding); } try {