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
相关产品推荐
相关产品推荐

