微信小程序 對於後臺接口返回值編碼是 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

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