On Thu, 3 Jun 2021 06:55:26 GMT, Maxim Kartashev <github.com+28651297+mkartas...@openjdk.org> wrote:
>> src/hotspot/os/windows/os_windows.cpp line 1491: >> >>> 1489: static errno_t convert_UTF8_to_UTF16(char const* utf8_str, LPWSTR* >>> utf16_str) { >>> 1490: return convert_to_UTF16(utf8_str, CP_UTF8, utf16_str); >>> 1491: } >> >> IIUC, `utf8_str` is the "modified" UTF-8 string in JNI. Using it as the >> standard UTF-8 (I believe Windows' encoding `CP_UTF8` is the one) may end up >> in incorrect conversions in some corner cases, e.g., for supplementary >> characters. > > Right; I changed the code in NativeLibraries.c to pass down true UTF-8 > instead of "modified UTF-8". Please, take a look. I am not sure we can pass non `modified UTF-8` through `JVM_LoadLibrary()`. Probably some VM folks can enlighten here? ------------- PR: https://git.openjdk.java.net/jdk/pull/4169