【问题标题】:Getting unicode values from System.in从 System.in 获取 unicode 值
【发布时间】:2013-04-17 01:54:13
【问题描述】:

我创建了一个从System.in 获取输入的Scanner,以便我可以从控制台获取输入。

Scanner scanner = new Scanner(System.in, "UTF-8");

当我这样做时

String s = scanner.next();

然后在控制台输入Слово דבר,字符串的值变成???? ???

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

【问题讨论】:

    标签: java java.util.scanner


    【解决方案1】:

    假设 System.in 是 UTF-8 编码的并不安全。有关一些解决方法,请参阅 this question

    【讨论】:

      【解决方案2】:

      这是因为 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"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多