背景:
应用部署在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容器,中文签名问题解决。