You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA中Java读取俄文文本控制台显示异常求助

读取TXT文件俄文字符终端打印乱码问题

我尝试读取TXT文件中的文本并在终端打印,但俄文字符无法正常显示,拉丁字符和数字显示正常。

我已经尝试了以下修复方法:

  • 参考多个Stack Overflow相关解决方案
  • 进入IDE的Help | Edit Custom VM Options...添加配置并重启IDE:
    -Dconsole.encoding=UTF-8
    -Dfile.encoding=UTF-8
    
  • 修改代码指定UTF-8编码读取文件
  • 调整控制台显示设置

初始代码

BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
    System.out.println(new String(everything.getBytes(),StandardCharsets.UTF_8));
} catch (IOException e) {
    throw new RuntimeException(e);
} finally {
    br.close();
}

更新1:指定UTF-8编码读取文件后的代码

BufferedReader br = new BufferedReader(new FileReader("file.txt",StandardCharsets.UTF_8));
try {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
    System.out.println(everything);
} catch (IOException e) {
    throw new RuntimeException(e);
} finally {
    br.close();
}

更新3:预期与实际显示结果

预期结果(原文):"Кстати, в Индонезии есть часть страны называемой Java...Карл, Java!!! Еще и страннее то, что как бы Индонезия кажется таким родным.... с чего это вдруг?"
实际控制台显示结果:"Кстати, в �?ндонезии есть часть страны называемой Java...Карл, Java!!! Еще и страннее то, что как бы �?ндонезия кажется таким родным.... с чего это вдруг?"

请问该如何解决此问题?


内容的提问来源于stack exchange,提问作者Ruben Kubalyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 11:57:28