java - 无法在 Apache Jena 生成的 XML 中显示 UTF-8 编码

标签 java xml encoding utf-8 jena

我希望 Apache Jena 生成一个 XML

<?xml version="1.0" encoding="UTF-8"?>

我的代码:

RDFWriter writer = myJenaModel.getWriter("RDF/XML-ABBREV");
writer.setProperty("showXmlDeclaration", "true");
FileOutputStream fos = new FileOutputStream(filepath);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
writer.write(myJenaModel, osw, null);

只生成

<?xml version="1.0"?>

但是,如果我改变

OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); 

OutputStreamWriter osw = new OutputStreamWriter(fos, "ISO-8859-1");

它产生

<?xml version="1.0" encoding="ISO-8859-1"?>

正如预期的那样。

我尝试按照 Jena documentation 中的说明进行操作, 但没有成功。

有谁知道如何让 Jena 使用 UTF-8 编码声明生成我的 RDF/XML?

最佳答案

encoding="UTF-8" 是 XML 的默认值,因此没有必要。

关于java - 无法在 Apache Jena 生成的 XML 中显示 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25575655/

相关文章:

java - Intellij JBoss - 初始堆大小设置为大于最大堆大小的值

c++ - 单字节字符代码

java - 如何创建带有子文件夹的 JUnit TemporaryFolder

java - BlockingQueue.peekWait()

c# - 使用 XDocument 和 LINQ 解析具有元素对的 XML

c++ - 在 C++ 程序中读取 XML 文件

javascript - 如何使用 PHP 将 utf-8 编码的 json 保存到 .txt 文件

c# - 发送一个填充特殊字符的字节数组

java - 修改作为方法参数传递的数组

javascript - 如何使用 jQuery 解析 xml ajax 回复?