收藏
回答

微信公众号自动回复文本接口含有中文,显示会乱码

在微信公众号配置接口,按照如下官方DEMO配置,任意输入文字,公众号会回复this is a test

但是将文字换成中文,比如部署成功!就会乱码,返回\u90e8\u7f72\u6210\u529f



官方样例:
<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>
  <FromUserName><![CDATA[fromUser]]></FromUserName>
  <CreateTime>1348831860</CreateTime>
  <MsgType><![CDATA[text]]></MsgType>
  <Content><![CDATA[this is a test]]></Content>
  <MsgId>1234567890123456</MsgId>
  <MsgDataId>xxxx</MsgDataId>
  <Idx>xxxx</Idx>
</xml>


本地代码:python:3.7
def ReplyText(toUser,fromUser,nowtime,MsgType,content):
    print(content)
    XmlForm = f"""
        <xml>
            <ToUserName><![CDATA[{toUser}]]></ToUserName>
            <FromUserName><![CDATA[{fromUser}]]></FromUserName>
            <CreateTime>{nowtime}</CreateTime>
            <MsgType><![CDATA[text]]></MsgType>
            <Content><![CDATA[{content}]]></Content>
        </xml>
        """

    return {
    "isBase64Encoded": False,
    "statusCode": 200,
    "headers": {"Content-Type": "application/json", "charset": "UTF-8"},
    "body": XmlForm
    }



回答关注问题邀请回答
收藏

1 个回答

  • 青寒
    青寒
    2022-08-18

    你自己处理一下编码解码吧。

    2022-08-18
    有用
    回复 1
    • 好多话
      好多话
      2022-08-19
      模块抬头是备注utf-8编码,在调试过程直接打印中文,也是能正常打印的,但是中文内容传入ReplyText中,就变成unicode。


      使用官方提供xml模板,就会变成unicode。
      2022-08-19
      回复
登录 后发表内容