activiti釋出流程中文亂碼問題
中文亂碼是一直伴隨我們開發生涯的問題,這裡我把之前我解決亂碼問題的所有方式都列出來供大家參考。
如果有不對的請大家指導,有遺漏的可以留言,我一併納入進來。
由於utf8國際化支援更好,所以我所有專案都是用的utf8
1、檢查資料庫字符集是否 utf8
2、檢查tomcat配置是否utf8
3、如果你是用的idea(我就是用它),檢查Settings——Editor——File Encodings 中所有編碼設定是否 utf8
4、因為idea不是直接在tomcat中部署專案啟動,而是呼叫其服務,所以最好將執行環境配置一下:配置server的時候,在 VM options 欄目新增-Dfile.encoding=UTF-8
5、這時你可能會發現,idea控制檯日誌亂碼了,所以你需要修改idea源字符集:
如果是64位:IntelliJ IDEA 14.0.2\bin\idea64.exe.vmoptions檔案最後一行新增-Dfile.encoding=UTF-8
如果是32位:IntelliJ IDEA 14.0.2\bin\idea.exe.vmoptions檔案最後一行新增-Dfile.encoding=UTF-8(不清楚有32位沒,從來沒用過,保險起見,2個都新增吧)
以上操作完畢,只能保證你的專案不會亂碼,但是流程部署必定還是亂碼,所以就有下面的操作了:
1、專案中配置activiti的xml檔案,初始化bean的時候,給processEngineConfiguration新增中文支援(不一定是宋體)
<span style="white-space:pre"> </span><property name="activityFontName" value="宋體"/>
<property name="labelFontName" value="宋體"/>
這時執行專案,你可能會發現,專案啟動報錯了,錯誤資訊好像是無法讀取該字型。大概記得應該是少包,只出現過一次,大家自己去弄下吧。
2、如果伺服器是linux,那麼可能你還需要給伺服器新增中文支援,所以上面說不一定是宋體。