JFreechart中文在AIX下显示方框解决方法

在基于WebSphere做Web开发的时候大多情况下会使用JFreeChart作为Web报表生成工具,但是在AIX平台上经常会出现中文输出乱码或者一个个小方块的情况。这个问题的解决方法
如下:



1.在windows中找到fonts下的这几种字体文件(可能显示为中文)
fangsongti.ttf 仿宋体
heiti.ttf  黑体
kaiti.ttf  楷体
songti.ttf 宋体


2.copy字体到aix下的jre的字体目录${JAVA_HOME}/jre/lib/fonts


3.修改JRE的字体配置
  3.1 修改fonts.scale文件[${JAVA_HOME}/jre/lib/fonts/fonts.scale]
      把第一行的数字加4
      在文件尾添加
      fangsongti.ttf -zhongyi-fangsong-medium-r-normal--0-0-0-0-m-0-gbk-0
      heiti.ttf -zhongyi-hei-medium-r-normal--0-0-0-0-m-0-gbk-0
      kaiti.ttf -zhongyi-kai-medium-r-normal--0-0-0-0-m-0-gbk-0
      songti.ttf -zhongyi-song-medium-r-normal--0-0-0-0-m-0-gbk-0


  3.2 修改fonts.dir文件[${JAVA_HOME}/jre/lib/fonts/fonts.dir]
       把第一行的数字加4
       在文件尾添加
      fangsongti.ttf -zhongyi-fangsong-medium-r-normal--0-0-0-0-m-0-gbk-0
      heiti.ttf -zhongyi-hei-medium-r-normal--0-0-0-0-m-0-gbk-0
      kaiti.ttf -zhongyi-kai-medium-r-normal--0-0-0-0-m-0-gbk-0
      songti.ttf -zhongyi-song-medium-r-normal--0-0-0-0-m-0-gbk-0


    3.3 修改font.properties.zh文件 [${JAVA_HOME}/jre/lib/font.properties.zh
    把所有的serif.1的值 进行如下替换
   -zhongyi-song-medium-r-normal--0-0-0-0-m-0-gbk-0



5.JVM参数设置
在startWebLogic.sh中加入如下启动参数
     -Djava.awt.headless=true -Duser.language=zh -Duser.region=CN -Dfile.encoding=GBK -Dclient.override.encoding=GBK



6.重新启动就可以了.


来自: http://blog.sina.com.cn/s/blog_4ada0d2a01000am1.html

你可能感兴趣的:(jfreechart,乱码,AIX)