我在使用Java编码时遇到问题。当我使用Scanner在Java中输入字符串时,我的字符串是错误的。
示例:
Lê
L☐
。 public class Test {
public static void main(String[] args) {
String s = new String(new Scanner(System.in).next());
System.out.println(s);
}
}
答案 0 :(得分:0)
看来这不是 Scanner 类的问题,因为“ System.in”使用操作系统使用的默认编码,因此首先必须测试是否在操作系统中定义了正确的字符集为此,只需输出硬编码字符串即可。
System.out.println("Lê");
如果您安装了正确的字符集,那么它将显示相同的结果,否则将显示
L?
答案 1 :(得分:0)
您可以尝试将输入字节读取为UTF-8吗?
String s = new String(new Scanner(System.in).next().getBytes(), "UTF-8");
System.out.println(s);
此解决方案对我有用。