关闭

java及mysql中文按拼音排序

430人阅读 评论(0) 收藏 举报
分类:
java汉字按拼音排序
    public void test_sort_pinyin() {  
        Collator cmp = Collator.getInstance(java.util.Locale.CHINA);  
        String[] arr = { "张三", "李四", "王五", "赵六", "JAVA", "123", "$%$#", "哈哈A",  
                "1哈哈A", "1哈哈b", "1哈哈a", "哈哈", "哈", "怡情" };  
        List<String> list = Arrays.asList(arr);  
        Arrays.sort(arr, cmp);  
        System.out.println(list);  
    }  

据网友说某些字排序会有问题,可以用pinyin4j 开源项目(http://pinyin4j.sourceforge.net)先转换成拼音在排序,之前用过这个东西,如果是多音字的时候会有问题

mysql汉字按拼音排序

如果存储的字段采用的是GBK字符集,则直接order by column asc就可以,因为GBK编码就是按拼音排列的,如果是其他的编码,需要先转换成GBK,order by convert(column using gbk) asc




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:38968次
    • 积分:712
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:9篇
    • 译文:2篇
    • 评论:2条
    文章分类
    最新评论