又见乱码——CentOS下JFreeChart生成图片的中文乱码

废话:#¥#%……¥%#@
现象:jfreechart生成的图片中,图片内容显示正常,但是中文汉字乱码,这些汉字在定义的时候要么是默认字体要

么是宋体
环境:
JDK: 1.4.2(build 1.4.2-b28)
OS: CentOS 4.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、据说CentOS 5下面也存在此问题,用同样方法可以解决

 

你可能感兴趣的:(jdk,linux,centos,redhat,jfreechart)