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

时间:2018-06-21 20:53:50

标签: java spring-boot character-encoding pdfbox flying-saucer

我有一个Spring Boot应用程序,它将XML文档转换为PDF。该文档包含法语字符,例如é à。通过STS运行应用程序时,我没有问题,不会生成预期的PDF。但是,在使用java -jar target\application.jar通过命令行运行应用程序时,生成的PDF的法语字符为é Ã。我将XML转换为byte []并创建PDF。我想不出办法。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

两个选项:

  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 ...