在java中读取用户的unicode输入

在java中读取用户的unicode输入,java,string,input,utf-8,utf8-decode,Java,String,Input,Utf 8,Utf8 Decode,我有一个简单的java控制台程序,我试着从用户那里获取输入,输入是希伯来语的“שלום”,但当我试着阅读它时,我得到了,但我想得到“שלום”,最好的办法是什么 我的代码: public static void main(String[] args) { String s; Scanner in = new Scanner(System.in); System.out.println("Enter a string"); s = in.nextLine(

我有一个简单的java控制台程序,我试着从用户那里获取输入,输入是希伯来语的“שלום”,但当我试着阅读它时,我得到了,但我想得到“שלום”,最好的办法是什么

我的代码:

   public static void main(String[] args)  {

    String s;
    Scanner in = new Scanner(System.in);
    System.out.println("Enter a string");
    s = in.nextLine();
    System.out.println(s);
}
}

输出:

运行:

输入一个字符串

שלום

生成成功(总时间:5秒)

我知道我应该使用utf-8,但我真的不知道如何。。。
有什么帮助吗?

如果您使用的是windows,则需要检查终端编码

要执行此操作,只需在控制台中键入chcp

作为输出,您应该看到chcp28598

若你们看到不同的数字 类型chcp 28598


现在,您的控制台编码设置为希伯来语。

可能与ok重复。。那我该怎么做呢?谢谢可能会有帮助,System.out.println(Arrays.toString(s.getBytes(“UTF-8”))因为我已经将这个问题标记为另一个问题的副本,您可以在那里找到问题的答案。提示:开始使用用新的InputStreamReader(System.in,StandardCharsets.UTF_8)初始化的
InputReader
,,这样您可以控制字符的编码,直到达到正确的编码。对于像Eclipse这样的IDE中的控制台设置,请看一下。我使用netbeans并将其配置为utf-8,因此我假设这不是配置问题。