我花了将近3天的时间来找出为什么在一个大项目中输出
System.out.println( "你好" );
显示为“ ??” 在另一个从头开始构建的项目中,它显示为“你好”。
我正在使用IntellijIdea,但是使用jar文件从jar文件运行它时,同样的事情发生在我身上
java -jar ...
这两个项目之间仅有的两个区别是在构建系统中:第一个使用gradle,第二个不使用gradle(只是一个简单的项目)。第二点区别在于以下代码的输出
System.out.println("Charset.defaultCharset=" +
Charset.defaultCharset());
第一个类型为“ Charset.defaultCharset = windows-1252”,第二个类型为“ Charset.defaultCharset = UTF-8”
好吧,我已经读过:
IntellijIdea中的编码,两个项目之间的所有设置都相同 (设置→文件编码→项目编码→IDE编码)
关于Idea右下角的文件设置编码
在cmd控制台中完成了
set JAVA_TOOL_OPTIONS=-Dconsole.encoding=UTF8
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
在gradle.build中玩过gradle属性
org.gradle.jvmargs='-Dfile.encoding=UTF-8'
systemProp.file.encoding=UTF-8
通过
更改了命令提示符中的编码chcp 65001
这些努力使我一无所获。有什么想法吗?
顺便说一句,几乎有相同的问题,但没有答案。我不能在那里写声望低的原因 Intellij Idea incorrect encoding in console output
the picture with settings in project that don't correctly display the output
答案 0 :(得分:1)
如果问题仍然存在,似乎您已经完成了我认为的大多数... 1 ... 5,请尝试重新启动ide或计算机。
尝试一下,看看...
答案 1 :(得分:0)
好吧,终于我明白了!
导航至帮助->编辑自定义虚拟机选项...
添加这些:
-Dfile.encoding = UTF-8 -Dconsole.encoding = UTF-8
完全重新启动想法。