在eclipse裏面直接運行沒有問題,發佈到tomcat下面就報錯了apache
都設定成UTF8編碼了。。。。。tomcat
xml數據帶中文報的錯:微信
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字
節的 UTF-8 序列的字節 2 無效。
eclipse
xml數據不帶中文報的錯:微信支付
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1字
節的 UTF-8 序列的字節 1 無效。
編碼
解決辦法:加密
在catalina.bat配置文件裏面加一句spa
set JAVA_OPTS=-server -Dfile.encoding=utf-8.net
強制使用UTF8編碼運行orm
後面發現仍是系統代碼問題
微信支付簽名md5加密過程要帶上utf8參數,不然會用gbk編碼方式
resultString = byteArrayToHexString(md.digest(resultString.getBytes("utf-8")));//正確的寫法
參考: