给微信回复消息收不到(Python)

服务器搭在SAE上 解析XML部分用了lxml

这部分代码:

    def POST(self):
            str_xml = web.data()
            xml = etree.fromstring(str_xml)
            content = xml.find("Content").text
            msgType=xml.find("MsgType").text
            fromUser=xml.find("FromUserName").text
            toUser=xml.find("ToUserName").text
            replytext = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>"
        return replytext%(fromUser, toUser, str(int(tim.time())), msgType, "Message: " +content)

===========================================

找到原因了,输入中文就没法返回。。。 难道默认不是unicode的吗?

===========================================

最后发现原因在于我用的微信的语言是英文,结果输入中文就没有反应 把语言改成中文就没事了,这算是微信的一个bug?

阅读 11.8k
1 个回答

不是bug,我用的微信的语言是英文,输入中文可以有回应,你输入什么他就输出什么,很简单。

msgType 中获取的和你要发送的可以不同,你这里写的稍微有点问题,不过回复文字还是可以的。

我习惯在python文件开始中加一行# -*- coding:utf8 -*- 所以没有你中英文的问题,可能是编码方面的问题吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题