[jdk17u-dev] RFR: 8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8

Stephanie Crater duke at openjdk.org
Fri Jul 1 19:21:22 UTC 2022


Backport to allow java to correctly parse Chinese characters in file paths and string arguments passed to java.exe.

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`.

-------------

Commit messages:
 - 8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8

Changes: https://git.openjdk.org/jdk17u-dev/pull/522/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=522&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8272352
  Stats: 15 lines in 1 file changed: 6 ins; 4 del; 5 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/522.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev pull/522/head:pull/522

PR: https://git.openjdk.org/jdk17u-dev/pull/522


More information about the jdk-updates-dev mailing list