一,问题
在使用Java2DRenderer框架将html生成图片时,html中的中文文本在图片上显示框框,即出现了中文乱码。在确认使用正确的字符编码utf-8之后,并且确认了修改成unicode也同样乱码的情况下,找到了真正的原因:Linux服务器少字体
二,解决方案
1,html中使用的字体是 SimSun, 需要下载字体文件
推荐一个字体库:https://www.aigei.com/item/noto_serif_tc_r.html
2,在Linux上安装字体
创建文件夹
mkdir -pv /usr/share/fonts/chinese/TrueType
授权
chmod 777 -R /usr/share/fonts/chinese/TrueType
上传字体文件到/usr/share/fonts/chinese/TrueType目录下
创建fontscale, 如果下面命令执行失败,需要先安装: yum install mkfontscale
mkfontscale
清除缓存,并加载字体文件,如果下面字体执行失败,需要先安装:yum install fontconfig
fc-cache -fv
查询系统中已经加载的字体
fc-list
问题解决!