gpt4 book ai didi

java - YAML 文件中的版权符号在构建的 JAR 文件中渲染不正确

转载 作者:行者123 更新时间:2023-12-01 12:56:04 26 4
gpt4 key购买 nike

我的Java程序使用Snake YAML解析包含要显示给用户的文本的 YAML 文件。其中一些字符串包含版权符号 (©)。当我在 IDE (IntelliJ IDEA) 中运行该程序时,版权符号会正确呈现。但是,一旦我构建了一个工件并运行生成的 JAR 文件,版权符号就会呈现为“©”(不带引号)。

如何更改程序以正确读取文件或更改 YAML 文件以便正确呈现版权符号?

这是加载 YAML 的 Java 代码。

private void loadOptions () 
throws IOException, SAXException, ParserConfigurationException
{
Yaml yaml = new Yaml();
String filePath = "./config.yml";
Reader reader = null;

try {
reader = new FileReader(filePath);
options = (Map<String, Map>) yaml.load(reader);
}
catch (FileNotFoundException e) {
String msg = "Either the YAML file could not be found or could not be read: " + e;
System.err.println(msg);
}

if (reader != null) {
reader.close();
}
}

以下是相关 YAML 代码的示例:

text:
copyright:
© 2007 Acme Publishing (info@example.org)

最佳答案

感谢 @Amadan 对我的问题的评论,我将 Java 代码更改为以下内容,从而解决了问题:

private void loadOptions ()
throws IOException, SAXException, ParserConfigurationException
{
Yaml yaml = new Yaml();
String filePath = "./config.yml";
Reader reader = null;

try {
FileInputStream file = new FileInputStream(filePath);
reader = new InputStreamReader(file, "UTF-8");
options = (Map<String, Map>) yaml.load(reader);
}
catch (FileNotFoundException e) {
String msg = "Either the YAML file could not be found or could not be read: " + e;
System.err.println(msg);
}

if (reader != null) {
reader.close();
}
}

关于java - YAML 文件中的版权符号在构建的 JAR 文件中渲染不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23882404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com