我试图用UTF-8字符保存YAML文件,但是字符会自动转换为转义的unicode字符。
例如:
&4&l➸ &5&lLegendary Crate
变成:
&4&l\xe2\ufffd\xb8 &5&lLegendary Crate
但是当我用运行按钮从Intellij IDEA运行我的程序时,它会以原来的方式保存文件。
我正在使用Bukkit API的FileConfiguration类来保存YAML文件。
下面是我的代码:
private Map<String, FileConfiguration> configurations = new HashMap<>();
private void saveConfig(String fileName) {
try {
configurations.get(fileName).save(new File("db/", fileName));
} catch (IOException ex) {
System.out.println("Couldn't save! Exception: " + ex);
}
}
我假设使用启动参数可以解决这个问题,但是-dfile.encoding=utf-8
没有任何帮助。
很显然,您应该在-jar
之前添加启动参数。
Java-dfile.encoding=utf-8-jar
为我解决了这个问题。