joshwan 2011-07-21
现象:jfreechart生成的图片中,图片内容显示正常,但是中文汉字乱码,这些汉字在定义的时候要么是默认字体要
么是宋体
环境:
JDK:1.4.2(build1.4.2-b28)
OS:CentOS4.6
原因:Linux下的JRE不支持中文字库,注意这里是字库而不是如UTF-8等编码方式
解决方案:
1、将附件中的font.properties.zh_CN.Redhat保存到%JAVA_HOME%/jre/lib/目录下
2、将附件中的字库文件zysong.ttf保存到/usr/share/fonts/zh_CN/TrueType/目录下
3、重启web服务器
补充:
1、字体属性文件名必须为font.properties.zh_CN.Redhat。在安装JDK时,jre的lib目录下自动安装了
font.properties.zh_CN.Redhat8.0,其对应的字库文件zysong也存在相应位置,但是依然乱码,改了名字后问题才解
决,具体原因需进一步研究
2、注意font.properties.zh_CN.Redhat文件的最后一行filename.-misc-zysong18030-medium-r-normal–*-%d-*-*-
c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf,实际上这里就是指向某个字库
3、网上看到有人说simsun.ttf也可以,但是在我的环境下不行
4、据说CentOS5下面也存在此问题,用同样方法可以解决