關於android sqlite 的中文排序

sqlite 的默認編碼是unicode,可是沒有排序編碼,只提供了實現排序的接口。最近開發中的一個android項目用到sqlite,出現了糾結的問題,用中文字段須要按拼音首排序的時候順序慘不忍睹。參閱了各類解決方案,有增長一個拼音字段的,有自建拼音庫等解決方案,最終都以爲不理想。java

後來翻了一下android的SQLite驅動提供的方法,發現能夠設置本地化語言,以下:android

SQLiteDatabase db = getReadableDatabase();
db.setLocale(Locale.CHINESE);//設置本地化

調試發現查無數據,通過一通折騰,最後發如今SQL語句中排序時還須要指定使用本地化,以下:sql

SELECT * FROM ProfileInfo ORDER BY Name COLLATE LOCALIZED ASC

OK,排序正常按照中文拼音進行排序。編碼

相關文章
相關標籤/搜索