java后台请求使用URLEncoder.encode给url追加中文乱码问题

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"


你可能感兴趣的:(项目部署)