gpt4 book ai didi

java.util.Scanner 识别德语特殊字符

转载 作者:行者123 更新时间:2023-11-30 04:23:44 25 4
gpt4 key购买 nike

我正在尝试从 Eclipse 中的控制台获取输入。但是,当我写特殊的德语字符(如“ß”)时,该字符无法识别,并且类似于“??”。

我的代码如下。我尝试了 Locale.GERMANY 但没有成功。

Scanner s = null;
Locale.setDefault(Locale.GERMAN);
System.out.println(Locale.getDefault());
System.setProperty("file.encoding", "UTF-8");

try {
s = new Scanner(System.in);
s.useLocale(Locale.GERMAN);

System.out.println(s.locale());

while (s.hasNext()) {
System.out.println(s.next());
}
} finally {
if (s != null) {
s.close();
}
}

最佳答案

s = new Scanner(System.in, "Windows-1252");

Scanner的构造函数有一个带编码的构造函数。没有编码的构造函数使用默认平台编码。System.setProperty("file.encoding", "UTF-8"); 显然误导了扫描程序使用 UTF-8。

澄清:System.in 使用操作系统编码,因此德语区域设置为 Windows-1252。

关于java.util.Scanner 识别德语特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16388446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com