使用scan.nextLine()进行西里尔文

时间:2016-04-16 06:01:51

标签: java

我不知道如何从控制台阅读西里尔语或除英语之外的任何其他语言。我试着这样做:

Scanner scan = new Scanner(System.in, "UTF_16");

String input = scan.nextLine();

但是即使我已经输入了文本,它仍然在等我输入。

1 个答案:

答案 0 :(得分:0)

您需要将 UTF_16 替换为 UTF-8 ......

public static void main(String args[]) {
        Scanner scan = new Scanner(System.in, "UTF-8");

        String input = scan.nextLine();
        String myString = "some cyrillic text";
        byte[] russianBytes = input.getBytes("ISO-8859-1"); 
        String valueConverted = new String(russianBytes, "UTF-8"); 
        System.out.println(valueConverted);

    }

此版本需要 ИлияКамбуров 并正确打印