IntelliJ IDEA incorrect encoding in console output
It seems to be really crazy, but I can't do anything with broken encoding in the console of my IntelliJ IDEA.
Things I made to overcome this:
- Set
-Dfile.encoding=UTF-8
and-Dfile.encoding=UTF-8
in bothidea.exe.vmoptions
andidea64.exe.vmoptions
(I use 64 bit version though). - Added
-Dfile.encoding=UTF-8
and-Dfile.encoding=UTF-8
to run/debug configuration of my application. - Changed Settings > Editor > File encodings IDE Encoding/Project Encoding/Default encoding for property files to UTF-8.
Having all these done, there is still no luck and symbols are not shown correctly in the console. I tried to debug the java.io.PrintStream#println(java.lang.String)
method and found out that System.out.textOut.out.se.cs
equals to windows-1251. No idea where this value is coming from.
This issue has been bothering me for a long time and I was unable to find anything in the web that could help me.
This works for me.
- Close your intellij idea
- Search and open file idea.exe.vmoptions inside idea installed, for example: "C:\Program Files\JetBrains\IntelliJ IDEA 2018.3.2\bin". After add next line: -Dfile.encoding=UTF-8
- (Optional) if you have file idea64.exe.vmoptions, add the same line too.
- Start your intellij idea.
try
-Dconsole.encoding=UTF-8
instead of
-Dfile.encoding=UTF-8
You may have modified the wrong file,
not : C:\Program Files\JetBrains\IntelliJ IDEA xxxx\bin\idea64.exe.vmoptions
should be: C:\Users\USER_NAME\.IntelliJIdeaxxxx\config\idea64.exe.vmoptions
you can add both -Dfile.encoding=UTF-8
and -Dconsole.encoding=UTF-8
My theory is that your java class file are using "windows-1251" encoding, and you need to set it "UTF-8".
looks at the screenshots below.
To reset all files encoding, you can manually edit encodings.xml. You can change the default file encoding in settings dialog.