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