创建 PDF 时法语语言环境的字符编码 - Java

Character encoding for French locale while creating PDF - Java

我有一个 spring 引导应用程序,它可以将 XML 文档呈现为 PDF。该文档包含 é à 这样的法语字符。虽然 运行 通过 STS 的应用程序我没有问题,但按预期生成了 PDF。但是,虽然 运行 通过命令行使用 java -jar target\application.jar 生成的 PDF 的应用程序具有法文字符 é Ã。我正在将 XML 转换为 byte[] 并创建 PDF。我想不出出路。非常感谢任何帮助。

两个选项:

  1. file.encoding参数强制编码,比如-Dfile.encoding=utf-8.

    java -Dfile.encoding=utf-8 -jar target\application.jar
    
  2. (更好)当你将xml文件转换为字节数组时,指定编码:

    Reader reader = new InputStreamReader(new FileInputStream("/path/to/xml/file"), StandardCharsets.UTF_8);
    // do your file reading ...