问题描述
- Nodejs如何发送中文xml的post请求
-
最近在接微信支付的sdk。需要向微信服务器post一个xml,xml中如果不带中文的话微信那边是可以正确识别的。但是如果带了中文微信那边就报xml格式错误。发送的xml:
<xml> <appid><![CDATA[wx6e7c4258200000000]]></appid> <attach><![CDATA[test]]></attach> <body><![CDATA[jsapitest]]></body> <mch_id>1318100000</mch_id> <nonce_str><![CDATA[dv9k09ewgkyjsjo]]></nonce_str> <notify_url><![CDATA[http://wx.test.com/payCallback/]]></notify_url> <openid><![CDATA[ofBzdvpT6EhFjmCRmSCPQ9JhFnOQ]]></openid> <out_trade_no><![CDATA[56dce48af3609a005dabf5b5]]></out_trade_no> <spbill_create_ip><![CDATA[222.211.174.254]]></spbill_create_ip> <total_fee>5800</total_fee> <trade_type><![CDATA[JSAPI]]></trade_type> <sign><![CDATA[6849B595D0C35598055EA9D07F1506A8]]></sign> </xml>
像这样不带中文的微信那边能正确识别并返回正确的信息。但是如果带中文的话。
微信会返回:<xml> <return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[XML格式错误]]></return_msg> </xml>
尝试过在headers里面加charset=utf-8。尝试过在xml里面指定编码。都没有效果。
那么问题来了。请教怎么才能让微信正确识别中文xml的post请求呢
解决方案
http://cnodejs.org/topic/54d1e473753ddc9128ad8c01
时间: 2024-10-27 16:22:28