jfreeChart 在linux下中文乱码的解决
发表于 @ 2010年09月02日 10:57:00 原CSDN自己原创博客
做项目中用到了jfreechart用来显示统计课程排行的结果,但是在xp下显示正常,但是在linux下显示中文乱码 类似 口口口之类的
在网上搜了些,一开始由于对linux不太熟悉,也就没有解决问题,现在学习了一段fedora后,重新解决了这个问题
首先 将xp下的 simsun.ttc字体拷贝到 linux下,放在 linux的 %JAVA_HOME%/jre/lib/fonts目录下 然后修改目录下的 fonts.dir文件 将首行的数字 +1 比如 122变为123 ,然后在最后一行加上:
simsun.ttc -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
然后保存 ,如果是只读文件 的话 要强制保存 :w!
最后 在 含有 jfreechat的程序中 设置如下:
CategoryPlot plot = this.chart.getCategoryPlot()
plot.setForegroundAlpha(0.6F);
chart.setTitle(new TextTitle(chart.getTitle().getText(),new Font("宋体", 1, 13)));
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setLabelFont(new Font("宋体", 1, 12));
domainAxis.setTickLabelFont(new Font("宋体", 0, 10));
NumberAxis numberaxis = (NumberAxis)plot.getRangeAxis();
numberaxis.setTickLabelFont(new Font("宋体", 0, 12));
numberaxis.setLabelFont(new Font("宋体", 0, 12));
domainAxis.setLowerMargin(0.01D);
domainAxis.setUpperMargin(0.01D);
最后 重启tomcat 即可