Caused by: android.database.sqlite.SQLiteException: no such column: ٤٧٤٣٦: , while compiling: select * from test where id=٤٧٤٣٦
以上錯誤異常是通過友盟異常組件抓取到得。
٤٧٤٣٦ 是阿拉伯語數字;
產生這個問題得原因是本地化問題,構造查詢字符串是用String.format(...)函數,如果沒有指定Locale缺省是系統缺省Locale;如果在漢語,英語等常用系統下沒問題。在阿語系統下,數字和貨幣就會被本地化表示。
解決方法很簡單:
String.format函數指定使用Locale爲US.
String.format(Locale.US,...);