今天查看日志的時候,發現部分中文內容顯示正常,部分中文內容顯示亂碼。排查了很久才解決。
1、查看代碼編碼,UTF-8,正常,本地代碼運行調試,日志顯示正常,沒有出現亂碼。
2、查看代碼邏輯,服務器中文顯示正常的內容,從數據庫中獲取,中文顯示亂碼的內容,從代碼中常量獲取。
3、查看Jenkins部署日志,大量WARNING告警信息,提示編碼GBK的不可映射字符。
因此判斷,可能是部署的時候,jenkins編碼與代碼編碼不一致導致的。
修改(在項目的pom文件中,添加編碼設定):
<properties> <!-- 文件拷貝時的編碼 --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- 編譯時的編碼 --> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> </properties>
修改實踐:jenkins部署,沒有提示編碼GBK的不可映射字符。
參考資料:https://blog.csdn.net/aiwoshishen/article/details/80760390