JFreeChart 中文乱码解决

[size=x-large]图片不能显示解决[/size]
原来在windows部署下显示正常的用jfreechart做的统计图,可移植到linux下却显示不出来,是因为jfreechart的在linux系统中需要访问java awt库提供的图形功能,而linux下的绝大多数版本的java awt类库都需要x server提供的一些功能。而基本上作服务器的系统都没有启动x server(甚至根本没安装)的.解决的办法有很多,我用的是最简单的办法。

一、在你应用服务器的启动脚本中添加参数

1)终止你的tomcat。即:
tomcat目录/bin/shutdown.sh
2)设置环境变量:
CATALINA_OPTS="-Djava.awt.headless=true"
export CATALINA_OPTS
(如果你想每次开机自动生效,则可把这两句写入系统或者你的账号启动sh的.profile里)
3)启动你的tomcat。即:
tomcat目录/bin/startup.sh

二、直接执行命令

在终端直接执行命令:

export CATALINA_OPTS="-Djava.awt.headless=true"

(注意CLASS_PATH的设置)

[size=x-large]中文乱码解决[/size]


原因:首先,Linux环境下的JFreeChart和中文验证码的乱码问题和jsp的编码无关,是由于Java虚拟机找不到字体文件造成的,必须配置jdk下的中文字库文件

环境:
JDK1.6(JDK版本很重要,如果是1.4.2版本的话,JRE目录下的字体配置文件不大一样)
Ubuntu Server 12.04
Tomcat6.0

解决方法:
1.确认%JavaHome%/jre/lib/fonts目录下存在zysong.ttf
2.在%JavaHome%/jre/lib/fonts目录下执行"ttmkfdir -o fonts.dir"命令,重新生成fonts.dir文件
3.确认/usr/share/fonts/zh_CN/TrueType目录存在,如果不存在则mkdir创建
4.确认/usr/share/fonts/zh_CN/TrueType目录下存在zysong.ttf
5.在%JavaHome%/jre/lib目录下,执行 cp fontconfig.RedHat.3.properties.src fontconfig.properties
6.重新启动tomcat,大功告成!

需要下载zysong.ttf 如果这种字体装了没效果的话,那就要同时在步骤1和步骤3同时拷贝zysong.ttf和simsun.ttf. simsun.ttf是直接在windows下的c:/windows/fonts下找到simsun.ttc 改名为simsun.ttf即可。


注意:
1)ttmkfdir通过deb包的形式通过网上下载
2)simsun的字体我的程序中开始能够显示,但是还需要其他的ttf字体来实现,请自己查找
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值