您现在的位置是:网站首页>PHP技术PHP技术
mysql中文首字母排序失败的解决方法
草谷2019-03-30【PHP技术】
简介在TP5框架使用中发现由于数据库编码方式utf-general_ci不支持中文首字母ASCII编码排序的解决方法
在开发中遇到一个需求,使用excel导出用户订单数据的时候,需要对用户的中文姓名进行排序导出。
经过尝试,直接写order('name','ASC')的链式操作是没有效果的。。。
经查发现我常用的数据库编码方式是utf-general_ci的编码格式,这个格式不支持中文拼音字母排序的方式,
所以需要在排序的时候对其进行一次转码操作。代码如下:
$xlsData = Db::name('fund_order') ->order('CONVERT( truename USING gbk ) COLLATE gbk_chinese_ci','ASC') ->select();
这个方法可以实现按照字段值第一个字的首拼字母在ascII表中的排序顺序进行排序。
很赞哦! (0)
上一篇: 通过二维数组中某个键名对整个数组排序
下一篇: PHP大写人民币格式转换方法