收藏
回答

wx.request中的header无法识别字符i(手机系统语言是俄语)

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.request 微信安卓客户端 7.0.5 2.2.5

代码片段:

    wx.request({

        url: '某个url',

        data: {},

        header: {

            'content-type': 'application/json',

            'Access-Token': app.globalData.access_token,

            'userId': app.globalData.userID

        },

        success(res){

            //do something

        },

        fail(res){

            //do something

        }

})


发生的错误:

request:fail Unexpected char 0x131 at 4 in header name: userıd


问题描述:

设备时HUAWEI手机,安卓系统,手机系统语言和微信的语言都是俄语。其他手机没有出现这个问题。

我们先尝试了将微信语言改成中文和英文,但仍然出现这个问题。

然后我们尝试把header里面的 ‘userId’ 改成 ‘user’,然后这个问题就消失了,网络请求发出去了。

接着我们将header里面的 'user' 改回了 ‘userId’,将手机系统语言改成了英文,问题又消失了,网络请求又能发出去了。

我们再将系统语言改回了俄语,这个问题就无法复现了。


简述如下:

这是一个手机系统语言是俄语时无法识别字符'i'的问题(consolo.log('userId')是可以打出来的,只是在we.request的header中无法识别‘I’),这个问题好像跟手机系统语言有关,跟微信语言无关,并且把手机系统语言改成英文后,这个问题就好像永久消失了,因此我们现在无法复现,也没有截图,但记下了当时的错误信息。



最后一次编辑于  2019-10-08
回答关注问题邀请回答
收藏

2 个回答

  • 蒋超祥
    蒋超祥
    2019-10-08
    嘿嘿
    2019-10-08
    有用 1
    回复
  • Hoot
    Hoot
    2022-05-12

    https://zh.m.wikipedia.org/zh-hans/%C4%B0

    破案了,俄语类似,查阅下。

    以Unicode处理大小写的软件,通常会把ı转为I,İ转为i,但除非像有些软件,可指定以土耳其语方式处理大小写,否则若将一段文字转为大写再转为小写,会得出与原本不同的文字[3]

    2022-05-12
    有用
    回复
登录 后发表内容
问题标签