我在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)
非常感谢,
巴拉。
答案 0 :(得分:2)
当您致电Scanner(InputStream)
时,会使用平台默认编码将字节从流转换为文本。
我怀疑你只需要弄清楚你的控制台正在使用什么编码,并使用它来构建一个InputStreamReader
开始System.in
,或者将编码名称作为第二个参数传递给构造函数。
答案 1 :(得分:0)
问题:JAVA中的扫描仪输出乱码而不是希伯来语。
如果您想通过命令行或Powershell在希伯来语中输入内容, 您需要在Windows PC上检查终端编码。
要执行此操作,只需在控制台中键入chcp
作为输出,您应该看到chcp 28598
如果看到不同的数字,请输入chcp 28598
现在您的控制台编码设置为希伯来语