2013-04-17 11 views
5

Ho creato unche viene immesso da System.in in modo che sia possibile ottenere input dalla console.Ottenere i valori unicode da System.in

Scanner scanner = new Scanner(System.in, "UTF-8"); 

Quando faccio

String s = scanner.next(); 

e quindi introdurre Слово דבר nella console, il valore della stringa diventa ???? ???.

La console è in grado di visualizzare caratteri Unicode, ma perché non riesco a leggerli?

risposta

2

Non è sicuro assumere System.in codificato in UTF-8. Vedere this question per alcuni soluzioni alternative.

1

Questo perché System.in restituisce il testo nella codifica predefinita (la codifica predefinita non è evidentemente UTF-8). Questo dovrebbe funzionare OK

Scanner sc = new Scanner(System.in); 
String s = sc.next(); 
System.out.println(s); 

e si può leggere la vostra codifica predefinita da Java

System.out.println(System.getProperty("file.encoding"));