丧心病狂的呆毛 2016-03-07 02:38 采纳率: 0%
浏览 3970

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

  • 写回答

1条回答

  • devmiao 2016-03-08 04:51
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用