2016-04-16 9 views
0

Ich kann Cyrilic oder irgendeine andere Sprache außer Englisch von der Konsole nicht lesen. Ich habe versucht, dies zu tun:Verwendung von scan.nextLine() für cyrilic

Scanner scan = neuer Scanner (System.in, "UTF_16");

Zeichenfolge input = scan.nextLine();

Aber es wartet auf mich, um einzutreten, obwohl ich bereits den Text eingegeben habe. Ich bin mir nicht sicher, ob dies der richtige Weg ist, wenn ich sagen könnte, was ich falsch gemacht habe, oder mir sagen, dass ein anderer Weg großartig wäre.

+0

Sie ersetzen nicht tun Unter Windows ist die Befehlszeile unter Windows zeichenorientiert, so dass das Anzeigen und Empfangen von nicht-ASCII-Zeichen nicht möglich ist. – Ferrybig

Antwort

0

Sie benötigen die UTF_16 von UTF-8 ...

public static void main(String args[]) { 
     Scanner scan = new Scanner(System.in, "UTF-8"); 

     String input = scan.nextLine(); 
     String myString = "some cyrillic text"; 
     byte[] russianBytes = input.getBytes("ISO-8859-1"); 
     String valueConverted = new String(russianBytes, "UTF-8"); 
     System.out.println(valueConverted); 

    } 

dieser Druck nimmt Илия Камбуров und drucken Sie es richtig

+0

Das ist meine Ausgabe, wenn ich sie teste: Geben Sie den Text ein: Илия Камбуров Ich verwende NetBeans IDE 8.1 (Build 201510222201). –

+0

ist Netbeans-Format zu UTF-8 zu? –

+0

Ich weiß nicht, wie man das sieht, aber ich habe versucht, das Programm mit cmd auszuführen, und es hat nicht funktioniert. –

Verwandte Themen