Posted by:shawnma
Posted on:2004-11-17 12:01
谢谢各位,我是来结帖的。问题基本解决,共有四种方法。
环境:windows2000 professional,JfreeReport版本是o.8.4.11,在XML格式定义文件中的编码是GBK字体是FongSong_GB2312
1。如果你使用它的API导出PDF报表,那么请加入以下的语句:
target.setProperty(PDFOutputTarget.ENCODING,"Identity-H");
target.setProperty(PDFOutputTarget.EMBED_FONTS,"true");
其中的target是PDFOutputTarget的实例。
2。如果你是使用它的PreviewDialog那么在导出的Encoding中选择Identity-H
3。你也可以更改它的jfreereport.properties文件,加入以下两句
org.jfree.report.modules.output.pageable.pdf.Encoding=GB2312
org.jfree.report.modules.output.support.itext.Encoding=GB2312
4。如果以上方法都不能解决,那么还有一个必杀技,请改类ReportConfiguration源码。
*/
public static final String HTML_OUTPUT_ENCODING
= "com.jrefinery.report.targets.table.html.Encoding";
public static final String HTML_OUTPUT_ENCODING_DEFAULT = "GB2312";//"UTF-16";
private static String getPlatformDefaultEncoding()
{
try
{
// return System.getProperty("file.encoding", "Cp1252");
return System.getProperty("file.encoding", "Gb2312");
}
catch (SecurityException se)
{
return "Gb2312";
}
}
5。如果以上方法还不能解决,那只能说明你比我还衰,祝你好运。