场景: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);