URLEncoder.encode("xxxx")编码会异常,根据到源码中
dfltEncName = AccessController.doPrivileged( new GetPropertyAction("file.encoding")默认编码是file.encoding,打断点发现是GBK
但是后台使用的是utf-8所以出现了乱码
解决:在tomcat中设置file.encoding为utf-8
tomcat7以下:
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的后面加上 -Dfile.encoding="UTF-8"
tomcat7:
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=UTF-8"
Linux
修改catalina.sh
JAVA_OPTS="-Dfile.encoding=UTF-8"