深圳网站建设南山,wordpress 笔记本主题,网站建设后台管理,英文网站建设怎么样写在前面
在各个系统中#xff0c;都随处可见根据某个字段进行升序(ASC)或降序(DESC)进行排序展示。但进行中文汉字排序和查找的时候#xff0c;对中文汉字的排序和查找结果往往都是错误的。
为了尽量提供全面的解决方法#xff0c;本文会从各个层面出发告知有需要的人对应…
写在前面
在各个系统中都随处可见根据某个字段进行升序(ASC)或降序(DESC)进行排序展示。但进行中文汉字排序和查找的时候对中文汉字的排序和查找结果往往都是错误的。
为了尽量提供全面的解决方法本文会从各个层面出发告知有需要的人对应的解决方法。
场景一 在MYSQL中如何正确对中文进行排序
解决方法在查询语句的 order by 部分使用 CONVERT 函数。
-- 对中文排序 升序
select * from tb_resource_type ORDER BY CONVERT(type_name USING gbk)-- 对中文排序 降序
select * from tb_resource_type ORDER BY CONVERT(type_name USING gbk) DESC场景二 在接口开发中如何正确对中文进行排序
使用Collections.sort()重新compare方法进行中文 升序,以下仅为代码片段仅供参考。
Comparator comparator Collator.getInstance(Locale.CHINA);Collections.sort(codeList, new ComparatorTbmResourceVo() {Overridepublic int compare(TbmResourceVo vo1, TbmResourceVo vo2) {return comparator.compare(vo1.getTypeName(), vo2.getTypeName());}});如何在代码中进行中文倒序排序可以在升序的基础上利用 Collections.reverse() 即可完成。
Comparator comparator Collator.getInstance(Locale.CHINA);Collections.sort(codeList, new ComparatorTbmResourceVo() {Overridepublic int compare(TbmResourceVo vo1, TbmResourceVo vo2) {return comparator.compare(vo1.getTypeName(), vo2.getTypeName());}});Collections.reverse(codeList);其他方式
也可以将汉字转为拼音在进行排序添加pinyin4j的依赖。
dependencygroupIdcom.belerweb/groupIdartifactIdpinyin4j/artifactIdversion2.5.0/version
/dependencyThe end.