【问题标题】:InputStreamReader(InputStreamReader(System.in,"ISO-8859-15")) reads "ő" as "õ"InputStreamReader(InputStreamReader(System.in,"ISO-8859-15")) 将“ő”读为“õ”
【发布时间】:2016-06-17 14:49:15
【问题描述】:

首先,我从文件中读取。阅读很好ő

然后,我在控制台中输入ő,如果我比较它们,我得到了错误。我也想要 ő 和控制台阅读。

编辑:我使用InputStream inp = new FileInputStream(file) 来读取文件。

【问题讨论】:

  • 你在这两种情况下都使用bufferedreader吗?
  • 向我们展示您的尝试,看起来您正在尝试比较 2 个不同的对象,请尝试 .equals(object)

标签: java console diacritics inputstreamreader


【解决方案1】:

尝试改用InputStreamReader(System.in, "ISO-8859-16")

ISO-8859-15 不包含字符 őISO-8859-16 包含。此外,ő 是 ISO-8859-16 中的代码点 0151,与 ISO-8859-15 中的 ö 代码点相同,可以解释您当前的结果。

【讨论】:

  • 我之前尝试过,但发生了一些奇怪的事情。我的代码打印了“ISO-8859-16”,我无法输入任何数据。
  • @junpet,多展示你的代码(你到底是如何从文件和控制台读取数据的,你是如何比较结果的),否则很难帮助你。跨度>
【解决方案2】:

只需使用windows-1250 编码。 (Java 不支持ISO-8859-16。)

【讨论】:

    猜你喜欢
    • 2011-10-31
    • 2021-06-24
    • 2012-11-23
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 2011-01-26
    • 2012-12-24
    • 1970-01-01
    相关资源
    最近更新 更多