微信小程序 对于后台接口返回值编码是 Gbk 格式的处理

场景:1、后台接口返回内容编码是 GBK
          2、微信开发工具自测没问题,真机测试出现乱码

解决方式:
         1、最方便方式:后台接口将返回内容的编码格式换成 utf-8
         2、前端通过接受数据流,第三方库解决(原因:跨部门合作,接口提供方排期较慢)

微信小程序解决方式记录:
   1、wx.request 请求设置 responseType 属性(responseType: 'arraybuffer')
   2、引入相关js:  encoding-indexes.js encoding.js(小程序不支持 TextDecoder 方法)
        返回数据处理
          let unit8Arr = new Uint8Array(data) ;
          let results = new encoding.TextDecoder('gbk').decode(unit8Arr);
       
备注:
    原生 js   let unit8Arr = new Uint8Array(data) ;
                 let results = TextDecoder('gbk').decode(x);   

参考:
   js gbk与UTF8 转换
   小程序实现GBK编码数据转为Unicode/UTF8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章