效果
根本原因
centos系统没有安装中文字体,流程图是在服务器上生成的,所以在生成图片时,出现乱码。
解决方法一
# 安装中文字体
yum groupinstall 'fonts' -y
# 查看安装好后的中文字体
locale -a |grep 'zh_CN'
重启tomcat应用服务,乱码消失
解决方法二
上述方法在个别centos下无效,需要继续如下操作
首先查看字体列表
输入fc-list
如上图可以看出,不仅没有中文字体,连字体库都没有,那么接下来就记录一下在Linux CentOS 7中如何安装字体库以及中文字体。
安装字体库
在CentOS 4.x开始用fontconfig来安装字体库,所以输入以下命令即可:
yum -y install fontconfig
这时在/usr/share目录就可以看到fonts和fontconfig目录了(之前是没有的):
添加中文字体
在这之前我们还需要新建目录,首先在/usr/shared/fonts目录下新建一个目录chinese:
两个字体如下:
simsun.ttc
simhei.ttf
然后就是将上面的两个字体上传至/usr/shared/fonts/chinese目录下即可:
紧接着需要修改chinese目录的权限:
chmod -R 755 /usr/share/fonts/chinese
接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:
yum -y install ttmkfdir
最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件:
vi /etc/fonts/fonts.conf
可以看到一个Font list,即Font directory list字体列表,在这里需要把我们添加的中文字体位置加进去:
然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了:
fc-cache
可以看到已经成功安装上了中文字体,至此安装过程就全部结束,再次查看报表可以发现中文样式和内容均已可以正常显示了,此时只需要重启tomcat即可。