On Windows, native.encoding property is derived from format locale. This should really be the display locale instead:
---
diff --git a/src/java.base/windows/native/libjava/java_props_md.c b/src/java.base/windows/native/libjava/java_props_md.c
index 03d0acdae1e..46e1b358d20 100644
--- a/src/java.base/windows/native/libjava/java_props_md.c
+++ b/src/java.base/windows/native/libjava/java_props_md.c
@@ -630,7 +630,7 @@ GetJavaProperties(JNIEnv* env)
LCID userDefaultUILCID = MAKELCID(userDefaultUILang, SORTIDFROMLCID(userDefaultLCID));
{
- char * display_encoding;
+ char * format_encoding;
HANDLE hStdOutErr;
// Windows UI Language selection list only cares "language"
@@ -650,13 +650,13 @@ GetJavaProperties(JNIEnv* env)
&sprops.format_script,
&sprops.format_country,
&sprops.format_variant,
- &sprops.encoding);
+ &format_encoding);
SetupI18nProps(userDefaultUILCID,
&sprops.display_language,
&sprops.display_script,
&sprops.display_country,
&sprops.display_variant,
- &display_encoding);
+ &sprops.encoding);
sprops.sun_jnu_encoding = getEncodingInternal(0);
if (sprops.sun_jnu_encoding == NULL) {
---
diff --git a/src/java.base/windows/native/libjava/java_props_md.c b/src/java.base/windows/native/libjava/java_props_md.c
index 03d0acdae1e..46e1b358d20 100644
--- a/src/java.base/windows/native/libjava/java_props_md.c
+++ b/src/java.base/windows/native/libjava/java_props_md.c
@@ -630,7 +630,7 @@ GetJavaProperties(JNIEnv* env)
LCID userDefaultUILCID = MAKELCID(userDefaultUILang, SORTIDFROMLCID(userDefaultLCID));
{
- char * display_encoding;
+ char * format_encoding;
HANDLE hStdOutErr;
// Windows UI Language selection list only cares "language"
@@ -650,13 +650,13 @@ GetJavaProperties(JNIEnv* env)
&sprops.format_script,
&sprops.format_country,
&sprops.format_variant,
- &sprops.encoding);
+ &format_encoding);
SetupI18nProps(userDefaultUILCID,
&sprops.display_language,
&sprops.display_script,
&sprops.display_country,
&sprops.display_variant,
- &display_encoding);
+ &sprops.encoding);
sprops.sun_jnu_encoding = getEncodingInternal(0);
if (sprops.sun_jnu_encoding == NULL) {