我有一个奇怪的问题。我在 Java 中有这段代码:
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter word: ");
String word = keyboard.nextLine();
System.out.println(word);
但是,对于特殊字符,scanner类似乎出错了。例如,如果我输入 ħabel
,我会打印出 ħabel
。 Eclipse 的控制台输出设置为 UTF-8,这是肯定的,所以我认为它来自输入。我还没有在 Scanner 类中找到任何编码选项,真的很有趣地谷歌搜索也没有给出解决方案。如何解决?
谢谢!
最佳答案
当您在裸InputStream
上设置Scanner
时,它使用默认字符集(对您来说似乎是ASCII)读取。如果要指定字符集,请执行以下操作:
Scanner keyboard = new Scanner(new InputStreamReader(
System.in, Charset.forName("UTF-8")));
关于java - 特殊字符输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9114861/