Index: src/org/openstreetmap/josm/tools/Logging.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/org/openstreetmap/josm/tools/Logging.java	(revision 15781)
+++ src/org/openstreetmap/josm/tools/Logging.java	(date 1580070239655)
@@ -6,6 +6,8 @@
 import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -131,11 +133,21 @@
         LOGGER.setLevel(Level.ALL);
         LOGGER.setUseParentHandlers(false);
 
+        //Default output encoding string on all systems
+        String outputEncoding = StandardCharsets.UTF_8.toString();
+
         // for a more concise logging output via java.util.logging.SimpleFormatter
         Utils.updateSystemProperty("java.util.logging.SimpleFormatter.format", "%1$tF %1$tT.%1$tL %4$s: %5$s%6$s%n");
 
         ConsoleHandler stderr = new ReacquiringConsoleHandler(() -> System.err, null);
         LOGGER.addHandler(stderr);
+
+        try {
+            stderr.setEncoding(outputEncoding);
+        } catch (UnsupportedEncodingException e) {
+            System.err.println("Unable to set output encoding: " + e.getMessage());
+        }
+
         try {
             stderr.setLevel(LEVEL_WARN);
         } catch (SecurityException e) {
@@ -144,6 +156,13 @@
 
         ConsoleHandler stdout = new ReacquiringConsoleHandler(() -> System.out, stderr);
         LOGGER.addHandler(stdout);
+
+        try {
+            stdout.setEncoding(outputEncoding);
+        } catch (UnsupportedEncodingException e) {
+            System.err.println("Unable to set output encoding: " + e.getMessage());
+        }
+
         try {
             stdout.setLevel(Level.ALL);
         } catch (SecurityException e) {
