描述

今天帮同事解决了一个BUG,之前遇到过流程图中文乱码情况,如:
在这里插入图片描述
这种情况是因为linux未安装字体导致的,安装字体后即可(参考:https://www.cnblogs.com/wangjiming/p/12553535.html)。但这次遇到的情况是中文显示不全或不显示,现象及解决方法见下文。

现象

在这里插入图片描述
在这里插入图片描述

解决思路

第一步:更换字体

流程图原来使用的是宋体,更换为新宋体后问题仍未解决

ICustomProcessDiagramGenerator diagramGenerator = (ICustomProcessDiagramGenerator) processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator();
                InputStream imageStream = diagramGenerator.generateDiagram(bpmnModel, "png", executedActivityIdList,
                        flowIds, "新宋体", "新宋体", "新宋体", null, 1.0, new Color[] { WorkflowConstants.COLOR_NORMAL, WorkflowConstants.COLOR_CURRENT }, currIds);

第二步:检查流程图

  1. 怀疑是流程图bpmn文件的问题,检查后未发现异常。
  2. 更换新流程图,异常依然存在。
  3. 将异常的流程部署到正常运行的测试服务器,结果正常。

第三步:activiti版本

版本为6.0.0,无异常

<activiti.version>6.0.0</activiti.version>

第四步:交换部署

  1. 公司测试服务器有两个,暂称为A和B,异常的项目原本部署在A服务器,将其部署在B服务器,BUG解决。
  2. 将部署在B服务器的其他项目,部署至A服务器,BUG存在。

结论

linux中文字体冲突。

解决方法

清除linux现有中文字体,重新安装字体。

效果图

在这里插入图片描述

Logo

更多推荐