在eclipse里面直接运行没有问题,发布到tomcat下面就报错了
都设定成UTF8编码了。。。。。
xml数据带中文报的错:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字
节的 UTF-8 序列的字节 2 无效。
xml数据不带中文报的错:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1字
节的 UTF-8 序列的字节 1 无效。
解决办法:
在catalina.bat配置文件里面加一句
set JAVA_OPTS=-server -Dfile.encoding=utf-8
强制使用UTF8编码运行
后面发现还是系统代码问题
微信支付签名md5加密过程要带上utf8参数,否则会用gbk编码方式
resultString = byteArrayToHexString(md.digest(resultString.getBytes("utf-8")));//正确的写法
参考: