微信支付回调签名失败Tomcat编码问题解决
Posted 晖轩阁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信支付回调签名失败Tomcat编码问题解决相关的知识,希望对你有一定的参考价值。
在IDEA环境内嵌Tomcat8正常,在Windows部署的Tomcat8不正常,返回签名错误,原因是tomcat默认的编码使用ISO-8859-1的编码解析器,只要指定HttpServletRequest的读取编码即可解决乱码问题
ServletInputStream inStream = request.getInputStream();
String resp = getStrFromInsByCode(inStream, "utf-8");
/**
*
* @param is 输入流
* @param code 指定读取编码
* @return
*/
public static String getStrFromInsByCode(InputStream is, String code) {
StringBuilder builder = new StringBuilder();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(is, code));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line + " ");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return builder.toString();
}
以上是关于微信支付回调签名失败Tomcat编码问题解决的主要内容,如果未能解决你的问题,请参考以下文章