如何解决有关Java编码的问题?

时间:2019-02-14 07:51:11

标签: java

我在使用Java编码时遇到问题。当我使用Scanner在Java中输入字符串时,我的字符串是错误的。

示例:

  • 输入
  • 结果为L☐
public class Test {
    public static void main(String[] args) {
        String s = new String(new Scanner(System.in).next());
        System.out.println(s);
    }
}

2 个答案:

答案 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);

此解决方案对我有用。