背景:
應用部署在docker容器中,有一個docker用的是selenium的鏡像。
docker pull selenium/node-chrome
自己單獨把tomcat部署到了容器中。給客戶端提供api接口使用了字段字典編碼順序簽名,遇到中文突然出現接口簽名不一致問題,但無中文時是正常的。第一反應該是中文編碼問題。
查看應用編碼發現是:ANSI_X3.4-1968
System.out.println(System.getProperty(“file.encoding”))
解決:tomcat/bin/catalina.sh文件
設置編碼爲UTF-8
#JAVA_OPTS="JAVA_OPTS $JSSE_OPTS
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
重啓docker容器,中文簽名問題解決。