Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从System.in获取unicode值_Java_Java.util.scanner - Fatal编程技术网

Java 从System.in获取unicode值

Java 从System.in获取unicode值,java,java.util.scanner,Java,Java.util.scanner,我已经创建了一个扫描仪,它可以从系统中获取输入。在中,我可以从控制台获取输入 Scanner scanner = new Scanner(System.in, "UTF-8"); 当我这样做的时候 String s = scanner.next(); 然后在控制台中输入Счדבר,字符串的值变为 控制台可以显示Unicode字符,但为什么我不能读取它们?假设系统是UTF-8编码的,这是不安全的。请参阅以了解一些解决方法。这是因为System.in以默认编码返回文本(您的默认编码显然不是UTF

我已经创建了一个
扫描仪
,它可以从
系统中获取输入。在
中,我可以从控制台获取输入

Scanner scanner = new Scanner(System.in, "UTF-8");
当我这样做的时候

String s = scanner.next();
然后在控制台中输入
Счדבר
,字符串的值变为


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

假设
系统是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"));