问题描述:微信支付对接时候带中文参数导致签名不成功或者中文乱码。
问题原因:微信支付发送的报文不支持带中文参数的报文必须转码且必须由UTF-8转为ISO8859-1。
解决方案:
签名时候保证带中文报文以utf-8形式加密签名
给微信发送报文前进行转码
这样就可以发送带中文的报文给微信支付了。以下是带中文参数的map
本人写这篇文章的目的是解决微信支付对接时候带中文参数导致签名不成功或者中文乱码问题。网上大多是没有解释出现乱码原因直接说修改加密方式或者转码。导致其他有类似问题的同学解决该问题时候不适用或无法解决问题。所有本人写出导致问题原因希望各位根据问题原因解决问题不一点要用我的方法。只需保证签名前是微信对应参数是utf-8发送给微信的报文是有utf-8编码转为ISO8859-1的即可解决该问题。希望这篇文章能给各位提供帮助。
此致:敬礼,感谢各位网友的阅读