Soweit ich weiß, hat es noch nie funktioniert, UTF-8 auf der Windows-Console auszugeben.
Nehmen wir mal folgenden Beispiel-String: "‘’ “” – — »« ›‹ © … ← → ↑ ↓ 奥" (das letzte Zeichen schön fies chinesisch).
Nach meinem Verständnis mach ich `cmd.exe' mit `chcp 65001' fit für UTF-8.
Wenn ich jetzt folgende Java-Klasse:
public class Foo {
public static void main(String[] args) {
System.out.println("file.encoding=" + System.getProperty("file.encoding"));
System.out.println("‘’ “” – — »« ›‹ © … ← → ↑ ↓ 奥");
}
}
So kompiliere und starte:
> javac -encoding utf8 Foo.java
> echcp 65001
> java -Dfile.encoding=UTF-8 Foo
dann müßte das nach meinem Dafürhalten funktionieren, aber das tut es nicht. Ich krieg die Zeichen zwar korrekt angezeigt, aber danach folgt Müll, der Output sieht so aus:
‘’ “” – — »« ›‹ © … ← → ↑ ↓ 奥�‹ © … ← → ↑ ↓ 奥→ ↑ ↓ 奥 ↓ 奥 奥��
Das ist nicht ganz das, was ich wollte.
Ich weiß nicht, wie Ihr das seht, aber ich denke, wir schreiben das Jahr 2011, und da ist es doch einigermaßen peinlich, wenn Java kein UTF-8 auf die Konsole schreiben kann.
Wer hat jetzt den Schwarzen Peter? Ist `cmd.exe' zu blöd (was ich nicht glaube), hab ich irgendwann vergessen, oder ist das wirklich ein JRE-Bug?
Ich hab heute vorsichtshalber mal einen höflichen Bug-Report geschrieben, aber vielleicht weiß ja jemand, wie man unter Windows UTF-8 auf die Konsole schreiben kann. Ich krieg's einfach nicht hin und gebe vorerst auf.
Grüße, ach, und ja, ich bin neu hier, hallo allerseits,
Philip
Nehmen wir mal folgenden Beispiel-String: "‘’ “” – — »« ›‹ © … ← → ↑ ↓ 奥" (das letzte Zeichen schön fies chinesisch).
Nach meinem Verständnis mach ich `cmd.exe' mit `chcp 65001' fit für UTF-8.
Wenn ich jetzt folgende Java-Klasse:
public class Foo {
public static void main(String[] args) {
System.out.println("file.encoding=" + System.getProperty("file.encoding"));
System.out.println("‘’ “” – — »« ›‹ © … ← → ↑ ↓ 奥");
}
}
So kompiliere und starte:
> javac -encoding utf8 Foo.java
> echcp 65001
> java -Dfile.encoding=UTF-8 Foo
dann müßte das nach meinem Dafürhalten funktionieren, aber das tut es nicht. Ich krieg die Zeichen zwar korrekt angezeigt, aber danach folgt Müll, der Output sieht so aus:
‘’ “” – — »« ›‹ © … ← → ↑ ↓ 奥�‹ © … ← → ↑ ↓ 奥→ ↑ ↓ 奥 ↓ 奥 奥��
Das ist nicht ganz das, was ich wollte.
Ich weiß nicht, wie Ihr das seht, aber ich denke, wir schreiben das Jahr 2011, und da ist es doch einigermaßen peinlich, wenn Java kein UTF-8 auf die Konsole schreiben kann.
Wer hat jetzt den Schwarzen Peter? Ist `cmd.exe' zu blöd (was ich nicht glaube), hab ich irgendwann vergessen, oder ist das wirklich ein JRE-Bug?
Ich hab heute vorsichtshalber mal einen höflichen Bug-Report geschrieben, aber vielleicht weiß ja jemand, wie man unter Windows UTF-8 auf die Konsole schreiben kann. Ich krieg's einfach nicht hin und gebe vorerst auf.
Grüße, ach, und ja, ich bin neu hier, hallo allerseits,
Philip