Linux下JTreeChart,Birt等报表工具显示中文乱码解决
1) 现象:
在Windows上生成的报表图片展示正常,但是在Linux上显示(怪异的小方块“口”);
2)问题定位:
这是linux版本JDK/JRE缺乏中文字体(支持)的缘故.
3) 解决问题:
有两种解决办法,两种都有人试验成功,但是我实践下来只有一种成功!
方式一:(失败)
1. 找到自己电脑windows下的c:windowsfontssimsun.ttc(宋体);
2.把上面那个字体文件放到你Linux安装jdk目录的jre/lib/fonts目录里(寻找jdk安装目录,一般使用export查看环境变量即可);
3.改jdk目录的/jre/lib/fonts/fonts.dir 文件
把第一行的数字加一 (如果是45就改为46)
在最后新增一行添加如下内容:
simsun.ttc -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
4.修改jdk目录的/jre/lib/font.properties文件
把含有iso8859-1行从等号后面全部改为
-SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 (含有“CharToByteISO8859_1”的可以不改)
5. 打完收功...不要忘了重启你的web服务器
方式二:(成功)
1. 找到自己电脑windows下的c:windowsfontssimsun.ttc(宋体);
2. 在jdk目录的JRE/lib/fonts下新建一个目录,命名为fallback,将winows下simsun.ttf字体拷贝到这个目录下。
解决办法用到的文件请查看
http://files.cnblogs.com/yangw/Linux%E8%A7%A3%E5%86%B3%E5%AD%97%E4%BD%93%E9%9C%80%E8%A6%81%E7%9A%84%E6%96%87%E4%BB%B6.rar