RFR: 8265989: System property for the native character encoding name

Alan Bateman alanb at openjdk.java.net
Thu Apr 29 13:26:49 UTC 2021


On Thu, 29 Apr 2021 13:11:53 GMT, Naoto Sato <naoto at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/util/SystemProps.java line 69:
>> 
>>> 67:                 ? raw.propDefault(Raw._sun_jnu_encoding_NDX)
>>> 68:                 : raw.propDefault(Raw._file_encoding_NDX));
>>> 69:         put(props, "native.encoding", nativeEncoding);
>> 
>> Shouldn't native.encoding be biased toward sun.jnu.encoding rather than file.encoding? Or maybe you'll change it when preparing the changes for JEP 400?
>
> `native.encoding` preserves the encoding that current `Charset.defaultCharset()` is returning, which is based on `file.encoding`. So I believe the current implementation is correct. If it is biased toward `sun.jnu.encoding`, it would be problematic especially on Windows where that represents `system locale`.

Okay for now but the value of file.encoding will change to "UTF-8" so will be different to native.encoding.

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

PR: https://git.openjdk.java.net/jdk/pull/3777


More information about the core-libs-dev mailing list