使用 Apache POI 将 äöü 写入 Word
Writing äöü to Word using Apache POI
我正在开发一个 Java 应用程序,该应用程序使用 Apache POI 创建 .docx 文件。但是,当我在创建后从 Intelij 导航中手动打开它时,“äöü”未正确显示在 word 文件中。你知道我可能想要什么 check/amend 吗?
public void generateProtocolTEST() throws IOException {
if (!Paths.get("./protocols").toFile().exists()) Files.createDirectories(Paths.get("./protocols"));
XWPFDocument document = new XWPFDocument();
FileOutputStream out = new FileOutputStream("protocols/" + "test.docx");
document.createParagraph().createRun().setText("äüö");
document.write(out);
out.close();
}
解决方案:
- 添加“[compileJava, compileTestJava].options.encoding = 'UTF-8'”到build.gradle文件.
- 再次通过 gradle 导航构建项目。
- 重新启动 IDE。
如果您之前没有在 IntelliJ 中设置 UTF-8
,您可能需要重新创建 .java
文件,其中包含您在问题中显示的代码(重新启动 IDE 可能也是个好主意),因为更改的编码设置仅对新文件有效。
我正在开发一个 Java 应用程序,该应用程序使用 Apache POI 创建 .docx 文件。但是,当我在创建后从 Intelij 导航中手动打开它时,“äöü”未正确显示在 word 文件中。你知道我可能想要什么 check/amend 吗?
public void generateProtocolTEST() throws IOException {
if (!Paths.get("./protocols").toFile().exists()) Files.createDirectories(Paths.get("./protocols"));
XWPFDocument document = new XWPFDocument();
FileOutputStream out = new FileOutputStream("protocols/" + "test.docx");
document.createParagraph().createRun().setText("äüö");
document.write(out);
out.close();
}
解决方案:
- 添加“[compileJava, compileTestJava].options.encoding = 'UTF-8'”到build.gradle文件.
- 再次通过 gradle 导航构建项目。
- 重新启动 IDE。
如果您之前没有在 IntelliJ 中设置 UTF-8
,您可能需要重新创建 .java
文件,其中包含您在问题中显示的代码(重新启动 IDE 可能也是个好主意),因为更改的编码设置仅对新文件有效。