Китайский вывод 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'
}
Пожалуйста, укажите решение проблемы. Спасибо!