On Wed, 27 Apr 2022 20:23:32 GMT, Naoto Sato <na...@openjdk.org> wrote:
> Java runtime has been detecting the Windows system locale encoding using > `GetLocaleInfo(GetSystemDefaultLCID(), LOCALE_IDEFAULTANSICODEPAGE, ...)`, > but it returns the *legacy* ANSI code page value, e.g, 1252 for US-English. > In order to detect whether the user has selected `UTF-8` as the default, the > code page has to be queried with `GetACP()`. > Also, the case if the call to `GetLocaleInfo` fails changed to fall back to > `UTF-8` instead of `Cp1252`. src/java.base/windows/native/libjava/java_props_md.c line 695: > 693: &display_encoding); > 694: > 695: sprops.sun_jnu_encoding = getEncodingInternal(0); How should NULL from `getEncodingInternal` be handled? (only if malloc fails). Perhaps just it should return the literal "UTF-8". ------------- PR: https://git.openjdk.java.net/jdk/pull/8434