Die Java-Konsole liest chinesische Zeichen nicht korrekt

8

Ich habe Mühe, Eclipse dazu zu bringen, chinesische Schriftzeichen korrekt zu lesen, und ich bin mir nicht sicher, wo ich vielleicht falsch liege.

Genauer gesagt wird irgendwo zwischen dem Lesen einer chinesischen Zeichenkette (vereinfacht oder traditionell) von der Konsole und deren Ausgabe verstümmelt. Selbst wenn eine große Zeichenfolge mit gemischtem Text (englisch / chinesische Zeichen) ausgegeben wird, scheint es nur das Aussehen der chinesischen Zeichen zu verändern.

Ich habe es auf das folgende Testbeispiel heruntergeschnitten und es explizit mit dem versehen, was ich glaube, geschieht in jedem Stadium - beachte, dass ich ein Student bin und sehr gerne mein Verständnis (oder anders) bestätigen möchte:)

%Vor%

Beispielausgabe:

%Vor%

Was in diesem Stack-Overflow-Post angezeigt wird, stimmt genau mit dem überein, was ich in der Eclipse-Konsole sehe und was im Eclipse-Debugger angezeigt wird (beim Anzeigen / Bearbeiten der Variablenwerte). Das manuelle Ändern der Variablenwerte über den Eclipse-Debugger führt dazu, dass sich der Code abhängig von diesem Wert so verhält, wie ich es normalerweise erwarte, was darauf hindeutet, dass der Text so gelesen wird, dass er IN ist.

Ich habe viele verschiedene Kombinationen von Scannern / gepufferten Streams [reader | writer] s usw. zum Einlesen und Ausgeben mit und ohne explizite Zeichenarten ausprobiert, obwohl dies nicht besonders systematisch gemacht wurde und leicht etwas verpasst haben könnte.

Ich habe versucht, die Eclipse-Umgebung auf UTF-8 zu setzen, wo immer es möglich ist, aber ich denke, ich könnte ein oder zwei Stellen verpasst haben. Beachten Sie, dass die Konsole hartcodierte chinesische Zeichen korrekt ausgibt.

Jede Hilfe / Anleitung in dieser Angelegenheit wird sehr geschätzt:)

    
kwah 14.12.2012, 16:13
quelle

3 Antworten

2

Es sieht so aus, als würde die Konsole die Eingabe nicht korrekt lesen. Hier ist ein Link, den ich glaube, beschreibt Ihr Problem und Arbeits-Runden.

Ссылка

Einfache Antwort: Versuchen Sie, die Umgebungsvariable -Dfile.encoding = UTF-8 in Ihrer eclipse.ini einzustellen. (Bevor Sie dies für die gesamte Eclipse aktivieren, können Sie versuchen, dies in der Debug-Konfiguration für dieses Programm festzulegen und zu überprüfen, ob es funktioniert).

Der Link hat viele weitere Vorschläge

    
Zenil 23.01.2013, 19:05
quelle
1

Versuchen Sie Folgendes: Klicken Sie in der Eclipse mit der rechten Maustaste auf Ihre Hauptklasse und klicken Sie auf Ausführen als & gt; Führen Sie Konfigurationen aus. Wechseln Sie dann zur Registerkarte "Allgemein" und ändern Sie die Codierung in UTF-8. Das sollte funktionieren!

    
user1178729 14.12.2012 16:20
quelle
0

Dies scheint ein Codierungsproblem zu sein. Hier könnte es zwei Probleme geben: 1. Sie haben die Fähigkeit des Compilers, außer ASCII-Zeichen zu lesen, nicht aktiviert. In Ihrem Fall müssen Sie UTF-8-Zeichen lesen können. 2. Möglicherweise haben Sie bestimmte Sprachpakete gelöscht. Dies ist unwahrscheinlich, da Sie wahrscheinlich chinesische Schriftzeichen schreiben können?

Sie sollten suchen und erfahren, wie Sie Ihre IDE die Nicht-ASCII-Zeichen korrekt kompilieren können. In Python wird dies im Code selbst gemacht, ich bin mir nicht sicher, wie es in Java gemacht wird.

    
Arash Saidi 29.01.2013 11:36
quelle