On Wed, 14 Jul 2021 15:09:41 GMT, Roger Riggs <rri...@openjdk.org> wrote:
>> This is an implementation for the `JEP 400: UTF-8 by Default`. The gist of >> the changes is `Charset.defaultCharset()` returning `UTF-8` and >> `file.encoding` system property being added in the spec, but another notable >> modification is in `java.io.PrintStream` where it continues to use the >> `Console` encoding as the default charset instead of `UTF-8`. Other changes >> are mostly clarification of the term "default charset" and their links. >> Corresponding CSR has also been drafted. >> >> JEP 400: https://bugs.openjdk.java.net/browse/JDK-8187041 >> CSR: https://bugs.openjdk.java.net/browse/JDK-8260266 > > src/java.base/share/classes/java/io/PrintStream.java line 49: > >> 47: * <p> All characters printed by a {@code PrintStream} are converted into >> 48: * bytes using the given encoding or charset, or the default >> 49: * console charset if not specified. > > JEP 400 doesn't give a rationale for using the console charset for > PrintStream. > PrintStreams are used for output to files and other media other than just a > tty/console. > The charset of system.out/err should use the console charset. This was my thinking in https://github.com/openjdk/jdk/pull/4733#issuecomment-876793372. ------------- PR: https://git.openjdk.java.net/jdk/pull/4733