I have created a Scanner
that gets input from System.in
so that I can get input from the console.
Scanner scanner = new Scanner(System.in, "UTF-8");
When I do
String s = scanner.next();
and then input Слово דבר
in the console, the value of the string becomes ???? ???
.
The console is able to display Unicode characters, but why can't I read them?
It's not safe to assume
System.in
is UTF-8 encoded. See this question for some workarounds.This is because System.in returns text in default encoding (your default encoding is evidently not UTF-8). This should work OK
And you can read your default encoding from Java