Java 使用DynamicReport的字符编码错误

Java 使用DynamicReport的字符编码错误,java,jasper-reports,Java,Jasper Reports,我在Jasper Reports中使用DynamicReports进行字符编码时遇到问题。我不知道你应该在哪里标明编码。重音字符有问题。我试过: exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8"); //CP1252 exporter.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8"); 下面链接的屏幕截图显示字符在“我的代码”

我在Jasper Reports中使用DynamicReports进行字符编码时遇到问题。我不知道你应该在哪里标明编码。重音字符有问题。我试过:

exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8"); //CP1252
exporter.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");
下面链接的屏幕截图显示字符在“我的代码”中正确显示,但在报告中未正确显示。如何正确设置报告中的编码


今天我遇到了同样的问题,我将描述我的解决方案。 我的问题不是编码,而是字体

DynamicReports使用Helvetica字体创建pdf文档。 当我把fontName改为“DejaVu Serif”时,问题就解决了

    StyleBuilder myStyle= stl.style().setPadding(2);
    myStyle.setFontName("DejaVu Serif");
    TextColumnBuilder<Double> weightCol = col.column("Ağırlığı", "weight", type.doubleType());
    weightCol.setStyle(myStyle);
StyleBuilder myStyle=stl.style().setPadding(2);
myStyle.setFontName(“DejaVu衬线”);
TextColumnBuilder weightCol=col.column(“Ağrlığğğğğı”,“weight”,type.doubleType());
权重col.setStyle(myStyle);