问题描述
Docker部署后,导出报表效果如下,报表中的中文显示为乱码。
问题定位
这个问题是由于docker方式部署,docker容器内部缺少相应的中文字体导致。
解决方法
向docker容器内部安装相应的中文字体,安装方法有多种,此处为您提供其中一种方法供参考。
(1) 将微软雅黑字体,放到Yahei文件夹中,文件夹中的字体文件,应是这三种文件:msyh.ttc,msyhbd.ttc,msyhl.ttc
(2) 然后将该文件夹上传到宿主机上,比如上传到宿主机的 /usr/share/fonts/路径,然后再通过命令将该文件夹上传到docker容器内部的/usr/share/fonts/路径(这里上传的docker容器名称为wyn)
docker cp /usr/share/fonts/Yahei/ wyn:/usr/share/fonts/
(3) 接着通过如下命令进入容器内部
docker exec -it wyn /bin/bash
(4) 进入到容器内部之后,执行如下命令安装字体,如下图提示表示安装成功。
fc-cache -fv
(5) 最后字体安装成功后,重新启动docker容器
再次导出pdf,预览效果如下,问题解决。