微信支付生成订单,若xml带中文,则显示xml格式不正确

u010136299 2017-05-10 11:18:21

微信支付订单,param就是生成的xml,带有中文

如果用utf8这样写
Dim postdata As Byte() = Encoding.UTF8.GetBytes(param)
就会显示 xml 格式错误

如果用ascii这样写
Dim postdata As Byte() = Encoding.ascii.GetBytes(param)
不会显示xml格式错误了,改成签名错误。

如果xml的英文去掉,语句使用前者,则可以正常生成订单。

应该怎么处理才能使用中文呢?多谢
...全文
594 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010136299 2017-05-10
  • 打赏
  • 举报
回复
继续问: 订单已经生成成功了,公众号支付的按钮时用javascrip的代码?生成订单的数据如何传给javascrip?
u010136299 2017-05-10
  • 打赏
  • 举报
回复
自己解决了 request.ContentLength 这里获取了一个长度 原来是这样的: request.ContentLength =param.length 也就是根据xml文本的长度取值 现在是这样 Dim postdata As Byte() = Encoding.UTF8.GetBytes(param) request.ContentLength = postdata.Length 如果有汉字,长度是不一致的。所以原来的写法,其实post过去的xml被截断了

869

社区成员

发帖
与我相关
我的任务
社区描述
本版块主要讨论微信支付开发接入过程中的技术问题。包括微信支付线上线下支付的接入,微信支付营销能力的开发等。
微信社交电子 技术论坛(原bbs)
社区管理员
  • 微信支付
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧