activiti工作流_工作流Activiti在Docker环境下生成图片乱码解决方案

caf880fcd7422bbb865210a43ea7bed0.png

问题背景

最近的项目中使用到了工作流,集成的是Activiti,项目部署到生产环境之后,发现Activiti在生产环境生成的图片是乱码的情况,这个在dev,test环境均没有问题,生产环境使用的是PAAS平台,当然底层还是使用Docker镜像进行部署的,只是在上PAAS平台的时候,把测试环境的Dockerfile进行了一定的修改,问题就出现在生产环境的Docker镜像上了,那Docker环境下乱码的问题该如何解决呢?

废话不多说,直接上常用到的几种解决办法,这几招用上之后,基本上就搞定了~

解决办法

在Docker环境下工作流生成的图片乱码,一般情况下有以下几种解决办法:

  • Dockerfile底包有问题

    检查Dockerfile底包,已踩坑使用oraclejdk有乱码,建议无特殊需求直接使用openjdk

  • 缺少中文字体

    一般Linux系统下都没有中文字体,可以看一下/usr/share/fonts目录,是否包含所需要的字体,若没有,则需要在Dockerfile里面加上

  • Docker环境的字符集存在问题

    使用locale 检查下docker环境的字符集,我的Docker环境的字符集如下:

    # 列出运行中的docker 容器  [zkgc@tcosmapp02 ~]$ docker psCONTAINER ID        IMAGE                                         COMMAND           15139337e4ac        mva-cloud/cloud-activiti:1.1.0-SNAPSHOT       "java -jar /cloud-ac…"   # 进入docker容器,并执行locale 查询字符集[zkgc@tcosmapp02 ~]$ sudo docker exec -it 15139337e4ac /bin/bashroot@15139337e4ac:/# localeLANG=C.UTF-8LANGUAGE=LC_CTYPE="C.UTF-8"LC_NUMERIC="C.UTF-8"LC_TIME="C.UTF-8"LC_COLLATE="C.UTF-8"LC_MONETARY="C.UTF-8"LC_MESSAGES="C.UTF-8"LC_PAPER="C.UTF-8"LC_NAME="C.UTF-8"LC_ADDRESS="C.UTF-8"LC_TELEPHONE="C.UTF-8"LC_MEASUREMENT="C.UTF-8"LC_IDENTIFICATION="C.UTF-8"LC_ALL=

    如果你的不是,可以在Dockerfile里面使用ENV来指定成你需要的字符集

Dockerfile示例

FROM java:8# 将字体simsun.ttc 放到docker镜像的/usr/share/fonts目录下ADD simsun.ttc /usr/share/fonts/simsun.ttc# 指定docker镜像的字符集ENV LC_ALL=C.UTF-8ENV LANG=C.UTF-8ENV LANGUAGE=ADD cloud-activiti-1.1.0-SNAPSHOT.jar /app.jarENTRYPOINT ["java", "-jar","-Dspring.profiles.active=${profile}","/app.jar"]

觉得有用就顺手转发一下,右下角点个在看,非常感谢!


长按/扫码关注我吧,会找到你想要的……70b4f5bff2ee53c53c35bccc46b21ac6.png 

d75bce9e64078c3585c917b0d1ffa3f5.png

   喜欢就点个在看吧18c665c1a2f82dc9284361c056e2a12b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值