如下是我的项目中出现的问题,仅供我的参考: php
项目中使用的是当前最新的activiti版本:5.19.0.2 java
图片输出显示的中文乱码 shell
网上找的解决方案,在配置文件里面加入 centos
<property name="activityFontName" value="宋体" /> <property name="labelFontName" value="宋体" />
在论坛中 2楼给出了解决方案,连接地址:http://www.activiticn.org/forum.php?mod=viewthread&tid=1548,感谢2楼给出的解决方案 服务器
下面是个人写法,配置文件中仍是加入编码: 测试
Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); /**流程实例**/ BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId()); List<String> activeActivityIds = runtimeService.getActiveActivityIds(task.getProcessInstanceId()); ProcessEngineImpl defaultProcessEngine = (ProcessEngineImpl) ProcessEngines.getDefaultProcessEngine(); Context.setProcessEngineConfiguration(defaultProcessEngine.getProcessEngineConfiguration()); ProcessEngineConfiguration processEngineConfiguration = Context.getProcessEngineConfiguration(); /**获得图片输出流**/ InputStream imageStream = processEngine.getProcessEngineConfiguration() .getProcessDiagramGenerator() .generateDiagram(bpmnModel, "png", activeActivityIds, new ArrayList<String>(), processEngineConfiguration.getActivityFontName(), processEngineConfiguration.getLabelFontName(), null, 1.0); int len = 0; byte[] b = new byte[1024]; while ((len = imageStream.read(b, 0, 1024)) != -1) { response.getOutputStream().write(b, 0, len); }
项目上次centos服务器,发现打开的仍是乱码,缘由是centos服务器没有对中文进行支持,对服务器安装中文支持包 字体
1.安装中文包 编码
yum -y groupinstall chinese-support
vi /etc/sysconfig/i18n LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="lat0-sun16" export LC_ALL="zh_CN.GB18030"3.重启服务器 ,ok搞定,测试正常