2019年6月20日 星期四

Android 7後多語系的異動造成亂碼問題

最近遇到原本在Android上透過Socket做列印
安裝在Andorid7以上Device上 印出一堆的亂碼
查了一下
是7.0以後語系預設會讀到zh-Hant-TW
因此原本設定在res內的values-zh 就變成沒有被讀取
必須把目錄名稱改成values-zh-rTW才會正確顯示
而在Java檔案內需要判斷locale的部分
Locale.getDefault()拿到的值也會不同
如果需要做判斷做後續工作,這部分也需要被修改
附帶 Locale.getDefault()拿到的是Locale物件
需用toString轉換過 才能做字串比對
參考連結
https://litotom.com/2017/05/02/android7-locale-language/

沒有留言: