最近公司项目在开发过程中,用到了highcharts报表空间,其中有一个导出图片功能,默认使用的导出服务器为highcharts官方服务器,由于生产环境上不能直接访问highcharts官方服务器,所以图片导出功能需要在我们自己的项目中实现,我们实现的导出功能,在开发本地环境 windows 7 + eclipse 中是可以正常导出图片的,但是部署到10.118.242.53的weblogic服务器上导出的图片中文部分都显示为 口口口
该问题经过排查,是由于通过bakit图片工具包生成图片时出现异常,该工具生成图片时,会使用到中文字体,开发环境上不缺少中文字体,能正常显示;而在linux(weblogic)系统上部署时,由于服务器和服务器上的JDK都没有安装中文字体,导致中文样式字体都显示为口口口。该问题在给linux和jdk安装中文字体之后得到解决。
所以如果要保证该导出功能在生产环境也能正常,需要保证生产环境的服务器和JDK中都安装了中文字体,安装步骤如下:
一、Linux系统安装中文字体:
1、将要的字体复制到 /usr/share/fonts/chinese/TrueType 目录下
2、修改字体权限,使root以外的用户可以使用这些字体。
3、建立字体缓存,依次执行以下命令:
cd /usr/share/fonts/chinses/TrueType
mkfontscale
mkfontdir
fc-cache -fv
二、jdk安装中文字体:
1、进入JDK字体目录:cd $JAVA_HOME/jre/lib/fonts
2、创建字体文件夹:mkdir fallback
3、将字体文件copy到创建好的文件夹中即 $JAVA_HOME/jre/lib/fonts/fallback中
4、进入新创建的字体文件夹 cd fallback
5、依次执行以下命令:
mkfontscale
mkfontdir
字体安装好之后,需要重启weblogic应用。
字体文件直接用windows系统下面的就可以,位置在 C:\Windows\Fonts里面