Запуск / сборка Gradle не отображает правильно китайский язык - PullRequest
1 голос
/ 01 августа 2020

Китайский вывод Gradle Run отображается как «????????», а Java Run выводится нормально.

Вывод Gradle run

?????
\u5f9e\u51b7\u6c23\u8d77\u6548
?????

Вывод Java run

從冷氣起效
\u5f9e\u51b7\u6c23\u8d77\u6548
從冷氣起效

Проект Gradle с Eclipse. Китайский вывод Java Run может отображаться после установки "Свойства"> "Ресурс"> "Кодировка текстового файла" на UTF-8.

Вот код Java.

package testgradle;

import org.apache.commons.text.StringEscapeUtils;

public class Test {

    public static void main(String[] args) {
        String origin = "從冷氣起效";
        String input = "\\u5f9e\\u51b7\\u6c23\\u8d77\\u6548";
        String result = StringEscapeUtils.unescapeJava("\\u5f9e\\u51b7\\u6c23\\u8d77\\u6548");
        System.out.println(origin);
        System.out.println(input);
        System.out.println(result);
    }

}

Я попытался изменить файл build.gradle, но все равно результат выполнения Gradle не соответствует ожиданиям.

build.gradle

plugins {
    id 'java'
    id 'application'
    id 'java-library'
}

jar {
    manifest {
        attributes 'Main-Class': 'testgradle.Test'
    }
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

application {
    mainClassName = 'testgradle.Test'
}

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

tasks.withType(Test) {
    systemProperty "file.encoding", "UTF-8"
}

javadoc.options.encoding = 'UTF-8'
compileJava.options.encoding = 'UTF-8'

repositories {
    jcenter()
}

dependencies {
    api 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.google.guava:guava:28.2-jre'
    implementation 'org.apache.commons:commons-text:1.9'
    testImplementation 'junit:junit:4.12'
}

Пожалуйста, укажите решение проблемы. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...