[]
        
在线Demo 免费试用
(Showing Draft Content)

Docker部署报表打印后中文显示为乱码

1. 问题描述

  1. Docker部署后,导出报表效果如下,报表中的中文显示为乱码。

    image2022-1-10_10-43-9.png

2. 问题定位

  1. 这个问题是由于 docker 方式部署,docker 容器内部缺少相应的中文字体导致。

3. 解决方法

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

    image2022-1-10_10-43-50.png

  4. 进入到容器内部之后,执行如下命令安装字体,如下图提示表示安装成功。

    fc-cache -fv

    image2022-1-10_10-53-58.png

  5. 最后字体安装成功后,重新启动 docker 容器。

  6. 再次导出 pdf,预览效果如下,问题解决。

    image2022-1-10_10-55-3.png