我创建了一个Scanner
从中获取输入的,System.in
以便我可以从控制台获取输入。
Scanner scanner = new Scanner(System.in, "UTF-8");
当我做
String s = scanner.next();
然后Слово דבר
在控制台输入,字符串的值变成???? ???
.
控制台能够显示 Unicode 字符,但为什么我不能读取它们?
我创建了一个Scanner
从中获取输入的,System.in
以便我可以从控制台获取输入。
Scanner scanner = new Scanner(System.in, "UTF-8");
当我做
String s = scanner.next();
然后Слово דבר
在控制台输入,字符串的值变成???? ???
.
控制台能够显示 Unicode 字符,但为什么我不能读取它们?
System.in
假设是 UTF-8 编码是不安全的。有关一些解决方法,请参阅此问题。
这是因为 System.in 以默认编码返回文本(您的默认编码显然不是 UTF-8)。这应该可以
Scanner sc = new Scanner(System.in);
String s = sc.next();
System.out.println(s);
您可以从 Java 中读取默认编码
System.out.println(System.getProperty("file.encoding"));