JAVA中的扫描仪输出乱码而不是希伯来语

时间:2013-09-10 17:46:07

标签: java netbeans java.util.scanner hebrew

我在Netbeans中扫描希伯来语时遇到问题。 我正在尝试扫描用户的输入并在控制台中显示,但它显示为Gibberish。

我的代码是:

 public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Please input:");
    System.out.println("Your input is: " + input.next());
}

这是控制台:

运行:

请输入:

שלום

您的输入是:

建立成功(总时间:3秒)

完全相同的代码在Eclipse上完美运行。 如果我Println()一个希伯来词,它也可以正常工作,所以这不是一个编码问题。 (我使用的是Netbeans 7.3.1)

非常感谢,

巴拉。

2 个答案:

答案 0 :(得分:2)

当您致电Scanner(InputStream)时,会使用平台默认编码将字节从流转换为文本。

我怀疑你只需要弄清楚你的控制台正在使用什么编码,并使用它来构建一个InputStreamReader开始System.in,或者将编码名称作为第二个参数传递给构造函数。

答案 1 :(得分:0)

问题:JAVA中的扫描仪输出乱码而不是希伯来语。

如果您想通过命令行或Powershell在希伯来语中输入内容, 您需要在Windows PC上检查终端编码。

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

作为输出,您应该看到chcp 28598

如果看到不同的数字,请输入chcp 28598

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