Drucken von unicode-Java-code-Problem in der windows-Konsole

Ich habe ein problem mit drucken aus einer unicode-symbol in der windows-Konsole.

Hier ist der java-code, druckt das unicode-symbol-Wert;

System.out.print("\u22A2 ");

Das problem existiert nicht wenn ich das Programm in Eclipse mit encoding-Einstellungen wie UTF-8, aber wenn es um die windows-Konsole das symbol wird ersetzt durch ein Fragezeichen.

Folgendes wurde getan, um zu versuchen, dieses problem zu überwinden, ohne Erfolg;

  • Ändern Sie die schriftart von windows console, Lucida Console.
  • Jedes mal, wenn ich laufen windows-Konsole werde ich ändern Sie die encoding-Einstellungen, d.h. mit der Verwendung von chcp 65001

Einen weiteren Schritt habe ich versucht, ein paar mal ausgeführt wurde, wird die java-Datei mit einem argument, d.h. java -Dfile.encoding=UTF-8 Filter (wobei "Filter" ist der name der Klasse)

sind Sie sicher, die Konsole läuft in unicode? könnte sein, win-1252 oder so.
Ich vermute, Sie haben bereits Lesen. stackoverflow.com/questions/8669056/...
Ich habe keine Ahnung, wie würde ich überprüfen, ich habe gesehen, ein screenshot von jemand die Konsole in seinen Möglichkeiten, er hätte Informationen darüber, welche Codierung er verwendet, aber mir tut es nicht zeigen.
nee ich nicht, da geht es um input, ich habe nicht über Sie kam
Die MS-C-runtime nicht unterstützt UTF-8, auch wenn du chcp zu 65001 in der Konsole werden Sie wahrscheinlich, hit-app-breaking-bugs. Es gibt keinen zuverlässigen Weg, um Unicode stdout, um die Windows-Konsole. Wenn Sie unbedingt muss, es ist die Win32-API WriteConsoleW, aber natürlich ist es funktioniert nur auf Windows, es erfordert eine sorgfältige Handhabung, die erkennen, ob Sie reden eigentlich, um die Windows-Konsole, einige andere Konsole oder in eine Datei oder pipe, und Sie können nicht nennen es in Java (Sie müssen JVA).

InformationsquelleAutor Adrian | 2013-12-04

Schreibe einen Kommentar