收藏
回答

微信扫码自定义url打开小程序, url参数中有中文时, 个别机型小程序拿到的中文参数值是乱码

Nginx日志:

192.168.2.112 - - [24/Aug/2020:08:30:08 +0800] "GET /api/%C3%A8%C2%8B%C2%8F HTTP/1.1" 200 101 "https://servicewechat.com/wx96995a69ebaccd6e/6/page-frame.html" "Mozilla/5.0 (Linux; Android 6.0.1; HUAWEI RIO-AL00 Build/HuaweiRIO-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/49.0.2623.105 Mobile Safari/537.36 MicroMessenger/7.0.5.1440(0x27000536) Process/appbrand0 NetType/4G Language/zh_CN"

api后面是中文, /api/苏, 场景是微信扫了一个url二维码, 跳转到小程序页面, 后面带了中文参数 苏, (类似: http://domain.com/check?param=苏)

99.9%的机型使用小程序获取到的中文 '苏' 都是正常的 '%E8%8B%8F',

但是个别机型, 比如华为 RIO-AL00 Android 6.0.1(见Nginx日志), 每次扫码拿到的都是乱码 '%C3%A8%C2%8B%C2%8F'

还有的机型没仔细找日志, 有所差别, 但是也是乱码的, 不是正常的 '苏' => '%E8%8B%8F'

请问这是什么情况啊?

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

1 个回答

  • Admin ²º²⁴
    Admin ²º²⁴
    2020-08-24

    自定义url的时候,先urlEncode一下,然后用转换后的url生成二维码

    2020-08-24
    有用
    回复 2
    • ZhangLuo
      ZhangLuo
      2020-08-24
      我现在也想啊, 出现问题后, 我就想到这个办法了, 但是问题是, 二维码已经发出去了, 很多用户在用了, 现在想替换, 来不及了, 所以想找一找小程序这边有没有解决方案.
      2020-08-24
      回复
    • Admin ²º²⁴
      Admin ²º²⁴
      2020-08-24回复ZhangLuo
      nginx做一次转发,把%C3%A8%C2%8B%C2%8F转发到正确的页面上去
      2020-08-24
      回复
登录 后发表内容
问题标签