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请求呢