The output `jwebserver` and `java -m jdk.httpserver` uses UTF-8 encoding. 
Therefore, if the console encoding is not set to UTF-8 (for example, MS932 on 
Japanese Windows), garbled characters may appear. 
Since System.out knows the console's encoding, there's no need to specify it 
again with PrintWriter constructor.

The output `jwebserver` and `java -m jdk.httpserver` is localized in Japanese, 
German, and Chinese. This bug only occurs in these localized languages, so I 
haven't added any tests.
I have confirmed that the output of the two commands is not garbled in the 
default command prompts of both Japanese Windows and English Windows.

I tested jdk/com/sun/net/httpserver/simpleserver on English Windows, and all 
tests passed. However, when running on Japanese Windows, some tests failed 
because they expected output only in English.
I modified the tests so that `jwebserver` and `java -m jdk.httpserver` within 
the tests are executed with an English locale. After this modification, all 
tests passed on Japanese Windows.

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

Commit messages:
 - Update copyright
 - Fix garbled characters in simple web server

Changes: https://git.openjdk.org/jdk/pull/24437/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24437&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8353698
  Stats: 65 lines in 10 files changed: 9 ins; 3 del; 53 mod
  Patch: https://git.openjdk.org/jdk/pull/24437.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24437/head:pull/24437

PR: https://git.openjdk.org/jdk/pull/24437

Reply via email to