JFreeChart生成图片乱码解决方法,真实有效

最近使用jfreeChar+easypoi做一个word文档导出图表的功能,其实echar功能更强大,样式更完善。但是考虑到我们是后端实现,所以采用了jfreeChar.

在开发环境服务器导出正常,在测试环境服务器就不行。遇到这个坑,花了大半天时间才解决掉,百度上也基本百度不到,只能慢慢排查,哎。。。。心累。(希望我的三大方案能够帮助到大家)

1.创建主题样式 解决乱码

//创建主题样式 解决乱码(CN代表中文,这一步一定要添加)
        StandardChartTheme standardChartTheme = new StandardChartTheme("CN");
        //设置标题字体
        standardChartTheme.setExtraLargeFont(new Font("宋体", Font.BOLD, 15));
        //设置图例的字体
        standardChartTheme.setRegularFont(new Font("宋体", Font.PLAIN, 12));
        //设置轴向的字体
        standardChartTheme.setLargeFont(new Font("宋体", Font.BOLD, 12));
        //设置主题样式
        ChartFactory.setChartTheme(standardChartTheme);

添加了StandardChartTheme standardChartTheme = new StandardChartTheme("CN");结果还是乱码, 2.升级jfreechart的pom文件依赖版本

<dependency>
            <groupId>org.jfree</groupId>
            <artifactId>jcommon</artifactId>
            <version>1.0.24</version>
        </dependency>
        <dependency>
            <groupId>org.jfree</groupId>
            <artifactId>jfreechart</artifactId>
            <version>1.5.2</version>
        </dependency>
        <dependency>
			<groupId>cn.afterturn</groupId>
			<artifactId>easypoi-base</artifactId>
			<version>4.2.0</version>
	</dependency>

可能是你的版本太低,导致出现乱码。

经验分享 程序员 微信小程序 职场和发展