Android Sqlite3 query的一個問題(多語言模式)

來源:互聯網
上載者:User

最近調查關於多語言模式下, 搜尋短多媒體訊息失敗的問題, 設定手機系統語言為English (Spanish, Turkey etc) 搜尋成功, 但設定語言為Hindi 和 Arabic時, 則會出錯:

E/XXX: got exception: android.database.sqlite.SQLiteException:
no such column: ١٥١: , while compiling: SELECT pdu._id,thread_id,addr.address,part.text as body,pdu.date FROM pdu,part,addr WHERE ((part.mid=pdu._id) AND (addr.msg_id=pdu._id) AND
(addr.type=١٥١) AND (part.ct='text/plain') GROUP BY thread_id ORDER BY thread_id ASC, date DESC

查詢語句如下:

String mmsQuery = String.format(
                        "SELECT %s FROM pdu,part,addr,words WHERE ((part.mid=pdu._id) AND " +
                        "(addr.msg_id=pdu._id) AND " +
                        "(addr.type=%d) AND " +
                        "(part.ct='text/plain'))",
                        mmsProjection,
                        PduHeaders.TO)

在Arabic中 ١٥١ 代表的是數字” 151 “, 
addr.type 取得的是整型值, PduHeaders.TO 的十進位 既是 151.

貌似是把PduHeaders.TO的值用本地的語言來表示了。而對於中文、英文或者西班牙文等都是使用阿拉伯數字來表示, 所以沒有問題。

有人遇到過這種問題嗎? 如何解決呢?  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.