首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Thinkphp中MySQL按照中文拼音排序问题的处理

    背景 由于客户需求,需要按照汉字的首字拼音排序,项目开发中免不了数据的排序问题,排序中又免不了对中文的处理。...今天分享一下如何在mysql中对中文进行排序,介绍下thinkphp连贯操作的order底层原理 例:M(‘Project’)->order(‘name’)->select(); 这段代码最后转换成原生...数据查询的时候不管是按添加时间还是按修改时间排序,用户都不满意,领导说:应该按照名字排序嘛,这样用户就可以预见他想要的数据在什么地方了 ?...发现还不是想要的效果,这也不能怪mysql,毕竟中文博大精深,而我们的目标实际是中文的拼音排序,默认情况下mysql是不认识的(虽然我的数据库所有编码都已经设置为了utf-8)。...用‘强大’的百度查了下,mysql要想实现中文拼音排序有两种常用的办法: 第一种 不修改表结构,只修改查询语句: 明确的告诉mysql我这个字段要以gbk编码处理(用gb2312也可以的) 如果数据表tbl

    3.4K10

    HarmonyOS实战: 城市选择功能的快速实现

    不管是哪种方式获取城市数据,都无法保证数据的顺序符合需求,在处理数据顺序之前,首先要处理数据中的多音字,对常见多音字手动添加拼音字母,其余城市直接获取首字母,这里需要借助一个三方库pinyin4js 获取汉字的第一个拼音字母...(city.cityName, '', pinyin4js.FIRST_LETTER).toUpperCase() } })2....得到城市的字母后,这时就需要对城市数据按字母排序进行处理,借助系统通过collator 类的 compare 方法,对数据的字母进行排序。...得到排序后的数据,需要对数据进行分组,将首字母相同的城市放在同一个数组里,这一步有点复杂,需要慢慢看。 let target = data[0].letter?....总结本文详细讲述了对城市数据的处理,包括对音字,首字母排序以及按首字母对数据进行分组处理,特别是分组处理这块的代码比较复杂,需要亲自动手尝试才能更好的理解,学会的小伙伴赶紧动手试试吧!

    48910
    领券