Apache POI docx:HTML 作为 altChunk

Apache POI docx: HTML as an altChunk

早上好
我想使用 Apache POI 将 HTML 作为 altChunk 添加到 DOCX 文件中。为此,我遵循了这个 Whosebug 答案

除了我的语言(意大利语)的特殊字符出现问题外,一切正常。
我的情况如下:我有一个外部 html 文件。要导入我使用以下代码

byte[] inputBytes = Files.readAllBytes(Paths.get("testo.html"));
String xhtml = new String(inputBytes, StandardCharsets.UTF_8);

然后我使用 Whosebug 答案中提供的代码生成 docx。
如果我将 .docx 解压缩到“word”文件夹下,我就会正确地得到文件“chunk1.html”。
如果我打开它,则会正确报告特殊字符,例如

L'attività in oggetto è:

但是当我在 Word 中打开文档时,我看到了这个

L'attività in oggetto è: 

是否有我遗漏的相同 Microsoft 配置?
创建chunk的时候需要指定字符集吗?

Microsoft 似乎将 ANSI 作为 WordHTML 块的默认字符编码。这很烦人,因为整个其他世界现在都将 Unicode (UTF-8) 作为默认值。

所以我们需要明确地为 HTML 设置字符集。在块的模板中 HTML 做:

...
  private MyXWPFHtmlDocument(PackagePart part, String id) throws Exception {
   super(part);
   this.html = "<!DOCTYPE html><html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"><style></style><title>HTML import</title></head><body></body>";
   this.id = id;
  }
...

我会推荐这个而不是对 HTML 块使用 ANSI 编码。

我也在 中将其编辑到我的答案中。