编码相同的特殊字符

时间:2014-10-28 12:56:17

标签: java encoding jasper-reports special-characters export-to-pdf

我使用 JasperReports 导出PDF。我有特殊字符(è,à,û)的问题,而我(é,€)没有任何问题。当我使用 Jaspersoft Studio 生成我的文件时,我没有任何问题(所有特殊字符都可以)。只有当我从我的应用程序导出PDF时才会出现问题(只有那些字符不能正常工作(è,à,û)而不是(é,€)

这是我的代码:

try {
          jasperPrint = JasperFillManager.fillReport(jasperReport, parametres, connection);
    } catch (JRException e) {
          throw e;
    } finally {
          connection.close();
    }

    return jasperPrint;
}

public byte[] exporterMoisPDF(String siret, long annee, long mois, String num_declarant, String date_declaration, String mois_lettre, String nomFichierJasper)throws Exception {
    byte[] rapportPDF=null;

    JasperPrint jasperPrint = genererExportMoisJasper(siret, annee, mois, num_declarant, date_declaration, mois_lettre, nomFichierJasper);  

    jasperPrint.setLocaleCode("UTF-8");
    rapportPDF = JasperExportManager.exportReportToPdf(jasperPrint);

    return rapportPDF;

2 个答案:

答案 0 :(得分:1)

您的fontname.ttf中可能没有这些字符。将正确的字体添加到jasperreports-fonts-x.x.x.jar并重新编译它。

答案 1 :(得分:1)

尝试将<style name="style1" isDefault="true" pdfEncoding="Cp1252"/>行插入.jrxml文件。 (您也可以在报表设计器中将其添加为&#34;样式&#34;)。

我也遇到了中欧角色的问题,它通过pdfEncoding =&#34; Cp1250&#34;来解决。默认样式设置。

我也尝试了<property name="net.sf.jasperreports.default.pdf.encoding" value="Cp1250"/>行,但这对我环境中的JasperReports 6.5.0库没有影响。