关于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,排序正常按照中文拼音进行排序。编码

相关文章
相关标签/搜索