birtChart 在linux下中文乱码的问题是Java虚拟机找不到中文字库字体文件造成的。

步骤:

1、把.bash_profile中的export LANG=zh_CN.GB2312修改为:

  export LANG=zh_CN.GB18030。因为gb2312不支持一些特殊的汉字。

2、在在生成的chart图表的XML Source里修改字体:把SansSerif修改为SimSun。

3、找到一个能在linux下使用的中文字体,可以是Windows 7下的c:\windows\fonts\simsun.ttc。

4、在此要使用root用户【root/rootgnnt】登录,把上面的字体放到linux服务器安装jdk目录下 的/opt/jdk1.8.0_91/jre/lib/fonts目录里。

5、修改/opt/jdk1.8.0_91/jre/lib /fonts/fonts.dir

5.1、把第一行的数字加一 (如果是48就改为49).

5.2、在最后一行添加:

simsun.ttc -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

6、修改/opt/jdk1.8.0_91/jre/lib/fontconfig.properties.src文件

把含有iso8859-1行从等号后面全部改为:

-SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

含有“CharToByteISO8859_1”的可以不改)。

7、启web服务器


修改前,乱码如下图:

linux下birt 图表中文乱码问题_linux

修改后,正常如下图:

linux下birt 图表中文乱码问题_birt _02