微信支付控件调用的时返回
body不是UTF-8编码的问题, 测试环境正常,当发布到正式环境是出现了这个问题。
查找微信官网文档,无果,网上大部分的回答都是对xml进行转码,试后无果
后来通过排查,觉得是不是因为服务器编码导致通信的编码被服务器覆盖了,原本服务器的编码设置的是zh_CN.GBK编码 ,随后直接上手修改编码
以centos为例
vim /etc/profile 再 文件末端 加入
export LANG=zh_CN.UTF-8
source /etc/profile
再次查看服务器编码,已经正常,接下来再次进行微信支付,发现可以正常支付了

至此对这个问题的总结
服务器的编码需要和项目编码需要一致
本文详细介绍了在微信支付中遇到的body不是UTF-8编码问题的解决方案。在测试环境正常,但发布到正式环境出现问题的情况下,通过调整服务器编码为UTF-8,成功解决了支付异常的情况。
663

被折叠的 条评论
为什么被折叠?



