在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

在Docker容器下使用.net 5统计图中文乱码的问题

Docker 清风 679℃ 0评论

背景

客户新提需求,需要增加一张报表,报表需要增加统计图表。因为客户需要将数据以及统计图表一并导出到word中,所以没有使用前端统计相关的类库,比如:echartshighcharts等库。虽然可以使用前端相关类库导出word,但是并不能满足现有需求。后台服务使用的是.net 5,统计图完成后发现中文出现乱码。如下图:

直方图乱码

问题

出现以上乱码问题,其一可能是统计类库不支持中文导致的,也有可能是docker镜像中缺少相应的中文字体。因为在本地开发环境测试并没有问题,更新到测试环境后才发现以上乱码情况,所以应该是镜像中缺少相关中文字体而导致的。

解决

既然是缺少中文字体,那就安装字体就行了。在Windows系统中复制需要的字体到新建名称为chinese文件夹下,将此文件夹放到与dockerfile同一目录下即可。dockerfile文件中新增内容如下:


RUN apt-get -y  install fontconfig
COPY ./chinese /usr/share/fonts
RUN fc-cache -vf
Windows系统字体所在位置:控制面板\外观和个性化\字体
Linux字体目录是:/usr/share/fonts,所以dockerfile中指定将字体复制到此目录。

dockerfile更改后提交构建镜像并重新运行容器,再次查看效果后发现恢复正常,如下图:

直方图修正乱码

总结

docker中使用的镜像,有时候选择的是最小依赖的基础镜像,镜像比较小。但是一些情况是不满足需求的,在不更改基础镜像的情况下,还是要通过docker相关指令安装所需依赖,例如:一些软件、字体或者其他内容。



转载请注明:清风亦平凡 » 在Docker容器下使用.net 5统计图中文乱码的问题

喜欢 (1)or分享 (0)
支付宝扫码打赏 支付宝扫码打赏 微信打赏 微信打赏
头像
发表我的评论
取消评论

CAPTCHA Image
Reload Image
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址