Objective-C 和 sqlite 不支持中文拼音排序,这让中文应用的开发者非常郁闷。CocoaChina 会员 “zc09v” 分享了中文拼音排序的方法和代码例子,希望对您有所帮助。
- 在数据库中为每个数据项加一个字段,用于存放汉字的汉语拼音首字母,比如 唐就是t,好就是h....这样就能用 sql 语句对首字母进行排序了,其实就是根据拼音排序
- 如何得到汉字的首字母呢?看 CocoaChina 以前的这篇教程帖 http://www.cocoachina.com/bbs/read.php?tid-38851-page-1.html。下载附件中代码,其实我们只需要 pinyin.h 和 pinyin.c 两个文件,将他们考到你的程序中就能用了。
建议将 pinyin.c 改为 .cpp,此时会报错,只需 static char firstLetterArray[HANZI_COUNT+1] 改这句话就好了。改完后就能在 .mm 或 .cpp 文件中使用了(之前只能在 .m 文件中使用)
附件下载:Contacts.zip (64 K),本帖地址 http://www.cocoachina.com/bbs/read.php?tid-61850.html,欢迎参与讨论。
原文链接:https://www.f2er.com/sqlite/202629.html