如下是我的項目中出現的問題,僅供我的參考: 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搞定,測試正常