SpringBoot签名乱码

Posted 782276617

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot签名乱码相关的知识,希望对你有一定的参考价值。

本文根据此文章 微信统一下单接口body为中文,报【签名错误】的解决办法做修改,因为使用的是springboot,所以和他的解决方式不太一样:

问题源于:
生成预付款订单向微信发送xml中, xml含有中文,导致签名失败
搜索其他关于此问题的解决方式都是 转换编码之类,无济于事,顶多是将xml中的中文 转成???从而 成功生成预支付订单id,但是此时 , 你已经将含有???的符号传给微信,导致付款界面就都显示成了你之前转的???

查资料知: tomcat默认的编码方式不是utf-8
如果你的项目没有修改成utf-8就会导致问题的出现
springboot解决方法:
原来的项目启动方式: java -jar XXX.jar
指定编码启动: java -Dfile.encoding=UTF-8 -jar XXX.jar

查看项目的当前编码

String iso8859 = new String(xmlstring.getBytes("iso8859-1"));
String gbk = new String(xmlstring.getBytes("gbk"));
String utf8 = new String(xmlstring.getBytes("utf-8"));
if(iso8859.equals(xmlstring)){
logger.error("当前系统编码:-----------iso8859");
}else if(gbk.equals(xmlstring)){
logger.error("当前系统编码:-----------gbk");
}else if(utf8.equals(xmlstring)){
logger.error("当前系统编码:-----------utf8");
}
---------------------
版权声明:本文为CSDN博主「那一年丶天空很高丶风很清澈」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gentlu/article/details/86626133

以上是关于SpringBoot签名乱码的主要内容,如果未能解决你的问题,请参考以下文章

springboot 控制台乱码(docker启动springboot控制台乱码)

解决SpringBoot返回中文乱码问题方法汇总

SpringBoot返回页面乱码解决

如何解决SpringBoot中RestTemplate的中文乱码问题?

springboot + shiro 权限注解请求乱码解决统一异常处理

解决springboot乱码和window cmd乱码