本地環(huán)境是jdk8 + ubuntu, 生產(chǎn)環(huán)境是openjdk8 + centos;
本地能正常顯示中文,正式環(huán)境中文變成????。
分析原因:
1.終端輸入locale查看,發(fā)現(xiàn)均為LANG=en_US.UTF-8,因此根操作系統(tǒng)編碼無關(guān)
2.查看jvm的編碼,通過logger.error(System.getProperty("file.encoding"));?
發(fā)現(xiàn)正式環(huán)境輸出ANSI_X3.4-1968, 而本地環(huán)境輸出為UTF-8
問題就是這個。
解決方案:
加入java啟動參數(shù),-Dfile.encoding=UTF-8, 搞定??!