原因:首先,Linux环境下的JFreeChart和中文验证码的乱码问题和jsp的编码无关,是由于Java虚拟机找不到字体文件造成的,必须配置jdk下的中文字库文件
环境:
JDK1.5(JDK版本很重要,如果是1.4.2版本的话,JRE目录下的字体配置文件不大一样)
RedHat4.0
Tomcat5.5
解决方法:
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即可。