gpt4 book ai didi

java - 带重音字符的键盘输入 : Java

转载 作者:行者123 更新时间:2023-11-30 09:13:49 25 4
gpt4 key购买 nike

当 Java 中有重音字符时,我无法正确接收键盘输入。例如,我正在尝试输入类似“présenter”的内容,但它以“pr?senter”的形式出现。我不确定如何解决这个问题 - 我一直在尝试使用 ISO-8859-1 编码,但我仍然无法理解。这是我的部分代码:

Scanner scan = new Scanner(new InputStreamReader(
System.in, Charset.forName("ISO-8859-1")));

我也尝试过使用 UTF-8,但我遇到了同样的问题。不知道还能做什么!非常感谢!!

最佳答案

您是否尝试将读取的字符序列输出到控制台?如果是这样,那就错了。控制台无法显示重音字符以及 UTF-8 编码字符。只需尝试将您的输入写入文件(作为 UTF-8),然后检查文件。

以下代码产生正确的结果:

    String charset = "ISO-8859-1";
Scanner scan = new Scanner(System.in, charset);

System.out.print("Enter your text line: ");
String line = scan.next();
System.out.println("Your input: " + line);

File file = new File("out.txt");
FileOutputStream fos = new FileOutputStream(file);

fos.write(line.getBytes(charset));
fos.close();

FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String readLine = br.readLine();
System.out.println("Your input (loaded from file): " + readLine);
br.close();
fr.close();

输出是:

    Enter your text line: présenter
Your input: présenter
Your input (loaded from file): présenter

文件内容正确。 “Your input”的错误字符是因为本地控制台设置,但文件中的值是正确的。

关于java - 带重音字符的键盘输入 : Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842928/

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