Intellij Idea控制台输出中的编码错误

它似乎真的很疯狂,但我无法在我的intellij想法的控制台中使用破碎的编码做任何事情。

我为克服这个问题做了些什么:

  1. 在idea.exe.vmoptions和idea64.exe.vmoptions中设置-Dfile.encoding = UTF-8和-Dfile.encoding = UTF-8(虽然我使用64位版本)。
  2. 添加了-Dfile.encoding = UTF-8和-Dfile.encoding = UTF-8来运行/调试我的应用程序的配置。
  3. 更改设置>编辑器>文件编码IDE编码/项目编码/属性文件的默认编码为UTF-8。

完成所有这些操作仍然没有运气,并且控制台中没有正确显示符号。 我试图调试java.io.PrintStream #println(java.lang.String)方法,发现System.out.textOut.out.se.cs等于windows-1251。 不知道这个价值来自哪里。

这个问题困扰了我很长一段时间,我无法在网上找到任何可以帮助我的东西。

在此先感谢您的帮助。

尝试

 -Dconsole.encoding=UTF-8 

代替

 -Dfile.encoding=UTF-8 

我的理论是你的java类文件使用“windows-1251”编码,你需要将它设置为“UTF-8”。

看下面的截图。 在此处输入图像描述 在此处输入图像描述

要重置所有文件编码,您可以手动编辑encodings.xml。 在此处输入图像描述 您可以在设置对话框中更改默认文件编码。 在此处输入图像描述

在我的例子中,在调试中检查System.out.textOut.out.se.cs暗示IDEA为每个JUnit运行配置选择了maven surefire参数 :

  org.apache.maven.plugins maven-surefire-plugin   -Dfile.encoding=ASCII   

我通过在idea64.exe.vmoptions文件中添加-Didea.maven.surefire.disable.argLine=true来解决这个问题。

另请参见https://www.jetbrains.com/help/idea/configuring-output-encoding.html 。