本文中涉及的问题针对微信支付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中文乱码解决方案相关推荐

  1. 微信支付请求中文乱码解决方案!!!!!!

    微信支付乱码问题的解决方案 : 首先确保 文件的格式是UTF-8, 重点来了 ,------------------------------------------------------------ ...

  2. 微信支付body中文乱码分享

    相信很多小伙伴们在微信支付过程中一定遇到很多坑,其中不少小伙伴会有body中文乱码问题 在这里我分享一下我的解决方法 body使用英文时一点问题没有,使用中文时提示body不是utf8编码,在网上也是 ...

  3. iis 站点中文乱码 解决方案

    iis 站点中文乱码 解决方案 参考文章: (1)iis 站点中文乱码 解决方案 (2)https://www.cnblogs.com/zhaokunbokeyuan256/p/10001726.ht ...

  4. Spring RestTemplate中文乱码解决方案

    Spring RestTemplate中文乱码解决方案 参考文章: (1)Spring RestTemplate中文乱码解决方案 (2)https://www.cnblogs.com/accesski ...

  5. python写入csv文件中文乱码解决方案

    python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...

  6. Windows 10 powershell 中文乱码解决方案

    Windows 10 powershell 中文乱码解决方案 参考文章: (1)Windows 10 powershell 中文乱码解决方案 (2)https://www.cnblogs.com/we ...

  7. Spring MVC POST中文乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 1.自己编写一个filter,来实现编码,代码如下: 1 public class Characte ...

  8. POST中文乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 ? Spring Web MVC提供了Filter用于解决POST方式造成的中文乱码问题,具体配置 ...

  9. PHP——PHP读取MySQL数据库中文乱码解决方案

    问题描述 PHP读取MySQL数据库中文乱码 解决方案 静态页面  <head> <metahttp-equiv="Content-Type"content=&q ...

最新文章

  1. .NET应用三层架构分析
  2. R语言使用skimr包的skim函数查看整个dataframe数据集的summary信息、统计汇总信息(Summarize a whole dataset)
  3. Bing.com在.NET Core 2.1上运行
  4. AnalyticDB for MySQL 3.0基础版重磅发布
  5. 计算机初级考试题库网络管理,计算机基础考试题库(含答案)
  6. HTML DOM addEventListener() 方法
  7. 数学建模(5)---煤矸石堆积问题
  8. python http请求_python模拟http请求
  9. 电脑快捷键(键盘不灵了赶紧使用快捷键)
  10. Ubuntu18.04安装TIM、微信
  11. 高中计算机教师学期论文,高中信息技术教学论文范文
  12. 开发者服务器怎么发送公众号上的消息,微信公众号发送提醒消息
  13. python文本处理
  14. access如何设置定期报表汇总_创建分组报表或汇总报表
  15. 市场营销方式详尽客户调查报告:Inbound vs. Outbound
  16. 【供应链架构day10】供应链架构的基础逻辑
  17. filco的pin码_filco蓝牙键盘配对流程,filco 忍者二代 蓝牙怎么
  18. MT4-EA自动化交易研究笔记(2022-05-15)
  19. 作为阿里的面试官,我有话想说。
  20. 鲁宾逊非标准微积分与国内高等数学“秀肌肉”

热门文章

  1. Android中PopupWindow遮罩层的设置
  2. 欧几里德算法、拓展欧几里德、中国剩余定理
  3. Java发送电子邮件(使用mail.jar和activation.jar)
  4. 利用backtrace和ucontex定位segment错误【转】
  5. windows密码破解(哈希破解技术)
  6. 破解WINDOWS7密码
  7. 如何有效的对云专线进行测速
  8. PS~了解PS的第一步,基本操作
  9. 追梦之路-For the dream
  10. 智能组卷、专项针对性练习,提高刷题效果!