最近用spring-boot做微信支付,在开发环境都正常,打war包部署到服务器上就发现回调不起作用,检查log发现“字节的 UTF-8 序列的字节 1 无效”的错误,发现回调接收到微信的XML的,但是程序解析出现问题,应该是XML的编码出现问题。
最后在tomcat的bin目录下有文件catalina.bat
找到这行:set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
在它上一行加入:set JAVA_OPTS=-server -Dfile.encoding=utf-8
解决问题。