RFR: 8344706: Compiler Implementation of Compact Source Files and Instance Main Methods [v5]
Tatsunori Uchino
duke at openjdk.org
Sun Apr 27 14:23:50 UTC 2025
On Sun, 27 Apr 2025 10:51:33 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/IO.java line 192:
>>
>>> 190: String enc = System.getProperty("stdin.encoding", "");
>>> 191: Charset cs = Charset.forName(enc, StandardCharsets.UTF_8);
>>> 192: br = new BufferedReader(new InputStreamReader(System.in, cs));
>>
>> I suspect we need to fall back to `stdout.encoding` first before UTF-8 especially for Windows if Java does not set `stdin.encoding` automatically when launched.
>
> I believe that after:
> https://github.com/openjdk/jdk/pull/24738
> the `stdin.encoding` property is set when the process is connected to a console, which is probably the main case where the encoding can be detected automatically.
I misunderstood that I have tested `stdin.encoding`.
I cannot confirm that `stdin.encoding` is changed in Windows to proper ones because it has not been included in the latest EA build (20) and I cannot build master for Windows. However, it is changed to `US-ASCII` in Ubuntu when I change `LANG`. I will believe its author until the latest EA build is updated.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24438#discussion_r2062641495
More information about the compiler-dev
mailing list