Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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中的编码问题?_Java - Fatal编程技术网

如何解决Java中的编码问题?

如何解决Java中的编码问题?,java,Java,我有一个关于Java编码的问题。当我使用Scanner在Java中输入字符串时,我的字符串是错误的 例如: 输入Lê 结果是L☐. 这似乎不是Scanner类的问题,因为System.in使用操作系统使用的默认编码,因此首先必须测试操作系统中是否为此定义了正确的字符集,只需输出硬编码字符串即可 System.out.println("Lê"); 如果安装了正确的字符集,则将显示相同的结果,否则将显示 L?您能否尝试将输入字节读取为UTF-8 String s = new String(new

我有一个关于Java编码的问题。当我使用Scanner在Java中输入字符串时,我的字符串是错误的

例如:

输入Lê 结果是L☐.
这似乎不是Scanner类的问题,因为System.in使用操作系统使用的默认编码,因此首先必须测试操作系统中是否为此定义了正确的字符集,只需输出硬编码字符串即可

System.out.println("Lê");
如果安装了正确的字符集,则将显示相同的结果,否则将显示


L?

您能否尝试将输入字节读取为UTF-8

String s = new String(new Scanner(System.in).next().getBytes(), "UTF-8");
System.out.println(s);

这个解决方案适合我。

新的ScannermyFile,UTF-8;对我试过了,但没有效果:可能的重复请将代码复制为文本,而不是图像。下一步还返回一个字符串,因此执行新字符串。。。是多余的。不,它不起作用:这似乎可行,但与其说是一个合适的解决方案,不如说是一个变通办法。
String s = new String(new Scanner(System.in).next().getBytes(), "UTF-8");
System.out.println(s);