起因
话不多说,直接上错误,部署在linux下的服务,使用java生成的图片时,设置的字体为宋体,导致出现方块:
错误原因
解决办法是缺少语言包,安装语言包,重启java服务。
没有宋体字体包,查看是否存在宋体字体包:
fc-list
如果提示没有该命令的话,就需要执行如下命令,安装字体包
yum -y install fontconfig
然后查看是否有字体包,即simsun.ttc或者simsun.ttf文件
添加中文字体
可以去网上自己找宋体包的资源,为了方便,我在这里贴出来我用的宋体包
语言包资源:
链接:https://pan.baidu.com/s/1tTpmjHX1EIdtcDcLMOQO5g
提取码:b50q
下载后放在/usr/share/fonts/路径下,解压文件
unzip yuyanbao.zip
赋予权限:
chmod -R 755 /usr/share/fonts/yuyanbao
执行如下命令:
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
提示没有该命令的话,执行:
yum -y install ttmkfdir
配置语言包文件:
vi /etc/fonts/fonts.conf
加上如下配置:
<dir>/usr/share/fonts/yuyanbao</dir>
刷新字体缓存:
fc-cache
之后重启java服务。
致谢
感谢以下博客
https://blog.csdn.net/wlwlwlwl015/article/details/51482065