我使用的是Html2Image来解析HTML生成图片,在本地测试的时候,生成的图片没有问题,但放到Linux服务器之后,发现生成出来的图片中文会显示乱码。后来,查明原因,是因为Linux服务器中没有安装中文字体,后面通过安装好相应得中文字体就解决了这个中文乱码的问题了。
解决该中文乱码问题的步骤:
1、查看Linux下是否有中文字体
fc-list :lang=zh
2、若不支持fc-list命令,需要安装字体库
yum -y install fontconfig mkfontscale
3、把要安装的中文字体复制到 /usr/share/fonts/ 文件夹下(中文字体可以在window系统下获取)
4、执行命令:mkfontscale、mkfintdir、fc-cache
5、使用fc-list :lang=zh 命令验证中文字体是否安装成功
6、让JVM找到该中文字体,执行命令
创建文件夹:mkdir /bankapp/jdk8/jre/lib/fonts/fallback (这是jdk相应的路径)
创建连接:ln -s /usr/share/fonts/*.ttf /bankapp/jdk8/jre/lib/fonts/fallback/
7、重启容器