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