微信支付body中文乱码解决方案
本文中涉及的问题针对微信支付API v2版本,v3尚未使用到不做讨论。
v2版本和中文相关的接口有统一下单、支付通知、退款申请这几个API,从本地发起的API请求中,汉字编码不正确带来的直接问题就是签名错误。网上有不少文章在介绍方法,多数在当前版本内并没有把问题说清,而且得不到解决。
其实微信API本身是允许使用UTF-8编码来主调的,但是在调用的时候,需要强制指定HTTP请求编码,因此无论是httpclient还是RestTemplate都需要设置一个header信息,以下是Java的例子
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type","text/plain;charset=utf-8");
字符编码的设定是在MIME类型后加个分号在补充字符集,其他语言类似,千万不要使用那些封装过的header工具类,容易缺失字符集设定。
以上设置完成后只要程序环境是UTF-8,就不需要再次转码,另外需要注意的是md5类库,低版本的JDK可能要单独处理字符集,高版本的忽略此问题。
对于微信支付的通知回调,v2版本的API使用的是ISO-8859-1,要想正常显示需要转码为当前环境需要的编码。
以上解决方案在Spring boot 2.3+JDK 13上测试通过。
微信支付body中文乱码解决方案相关推荐
- 微信支付请求中文乱码解决方案!!!!!!
微信支付乱码问题的解决方案 : 首先确保 文件的格式是UTF-8, 重点来了 ,------------------------------------------------------------ ...
- 微信支付body中文乱码分享
相信很多小伙伴们在微信支付过程中一定遇到很多坑,其中不少小伙伴会有body中文乱码问题 在这里我分享一下我的解决方法 body使用英文时一点问题没有,使用中文时提示body不是utf8编码,在网上也是 ...
- iis 站点中文乱码 解决方案
iis 站点中文乱码 解决方案 参考文章: (1)iis 站点中文乱码 解决方案 (2)https://www.cnblogs.com/zhaokunbokeyuan256/p/10001726.ht ...
- Spring RestTemplate中文乱码解决方案
Spring RestTemplate中文乱码解决方案 参考文章: (1)Spring RestTemplate中文乱码解决方案 (2)https://www.cnblogs.com/accesski ...
- python写入csv文件中文乱码解决方案
python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...
- Windows 10 powershell 中文乱码解决方案
Windows 10 powershell 中文乱码解决方案 参考文章: (1)Windows 10 powershell 中文乱码解决方案 (2)https://www.cnblogs.com/we ...
- Spring MVC POST中文乱码解决方案
2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 1.自己编写一个filter,来实现编码,代码如下: 1 public class Characte ...
- POST中文乱码解决方案
2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 ? Spring Web MVC提供了Filter用于解决POST方式造成的中文乱码问题,具体配置 ...
- PHP——PHP读取MySQL数据库中文乱码解决方案
问题描述 PHP读取MySQL数据库中文乱码 解决方案 静态页面 <head> <metahttp-equiv="Content-Type"content=&q ...
最新文章
- .NET应用三层架构分析
- R语言使用skimr包的skim函数查看整个dataframe数据集的summary信息、统计汇总信息(Summarize a whole dataset)
- Bing.com在.NET Core 2.1上运行
- AnalyticDB for MySQL 3.0基础版重磅发布
- 计算机初级考试题库网络管理,计算机基础考试题库(含答案)
- HTML DOM addEventListener() 方法
- 数学建模(5)---煤矸石堆积问题
- python http请求_python模拟http请求
- 电脑快捷键(键盘不灵了赶紧使用快捷键)
- Ubuntu18.04安装TIM、微信
- 高中计算机教师学期论文,高中信息技术教学论文范文
- 开发者服务器怎么发送公众号上的消息,微信公众号发送提醒消息
- python文本处理
- access如何设置定期报表汇总_创建分组报表或汇总报表
- 市场营销方式详尽客户调查报告:Inbound vs. Outbound
- 【供应链架构day10】供应链架构的基础逻辑
- filco的pin码_filco蓝牙键盘配对流程,filco 忍者二代 蓝牙怎么
- MT4-EA自动化交易研究笔记(2022-05-15)
- 作为阿里的面试官,我有话想说。
- 鲁宾逊非标准微积分与国内高等数学“秀肌肉”