Python微信回复消息unicode问题求助,pythonunicode,服务器搭在SAE上 解析


服务器搭在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?

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

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

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

编橙之家文章,

评论关闭