Java IntelliJ使用了错误的编码

Java IntelliJ使用了错误的编码,java,intellij-idea,gradle,Java,Intellij Idea,Gradle,我正在使用intelliJ 2017.3 CE,我有一个奇怪的行为,我无法解决,尽管我尝试了所有我发现的主题 为了简单起见,我提取了问题的根本原因,IntelliJ在我的例子UTF-8中没有使用所需的编码。下面是我的简单课程: public static void main(String[] args) { System.out.println("äüö"); } 运行此类将导致以下输出: 13:03:47: Executing task 'StringTest2.main()'...

我正在使用intelliJ 2017.3 CE,我有一个奇怪的行为,我无法解决,尽管我尝试了所有我发现的主题

为了简单起见,我提取了问题的根本原因,IntelliJ在我的例子UTF-8中没有使用所需的编码。下面是我的简单课程:

public static void main(String[] args) {
    System.out.println("äüö");
}
运行此类将导致以下输出:

13:03:47: Executing task 'StringTest2.main()'...
:core:compileJava UP-TO-DATE
:core:processResources UP-TO-DATE
:core:classes UP-TO-DATE
:core:compileTestJava
:core:processTestResources UP-TO-DATE
:core:testClasses
:core:StringTest2.main()
äüö


BUILD SUCCESSFUL in 2s
5 actionable tasks: 2 executed, 3 up-to-date
13:03:49: Task execution finished 'StringTest2.main()'.
在这里您可以看到文件的编码

以下是我的intellij安装的设置

我尝试的是:

  • 添加到my gradle.properties:systemProp.file.encoding=utf-8
  • 为我定义jvm设置的类创建了一个运行配置:-Dfile.encoding=utf-8
  • 执行了一个测试用例,其中该问题最初是从命令行(gradle)发生的,但也发生了错误
  • 使用intellij在另一台pc(mac)上测试了该类,并在那里按预期注销
我不知道我还能尝试什么。

使用


在那里,您的UTF-8字符串被转换为ISO-8859-1编码。您的控制台编码可能是ISO-8859-1I,我已将其添加到碎片构建过程VM选项中,但它不会更改输出。我还尝试将其作为运行配置的JVM选项,但也没有更改。请尝试
“\u00E4\u00F6\u00FC”
。如果这能起作用,那么实际上编辑器使用的是UTF-8(我们已经知道了),但编译器javac使用的是平台编码。
-Dconsole.encoding=UTF-8