从System.in获取unicode值

Pet*_*son 5 java java.util.scanner

我已经创建了一个Scanner输入,System.in以便我可以从控制台获取输入.

Scanner scanner = new Scanner(System.in, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

当我做

String s = scanner.next();
Run Code Online (Sandbox Code Playgroud)

然后????? ???在控制台中输入,字符串的值变为???? ???.

控制台能够显示Unicode字符,但为什么我不能读它们?

Dan*_*rov 2

假设System.in是 UTF-8 编码是不安全的。请参阅此问题以获取一些解决方法。