解决mysql查询对中文排序失效的问题

解决mysql查询对中文排序失效的问题

今天遇到一个需求,需要对某个字段进行顺序排序,于是便有了如下的sql语句:
模拟sql
结果如下
查询结果
很明显,最后的order by语句有点问题,没有得到我们想要的排序效果。然后我在网上查询了一下资料,得到的结论是:因为mysql默认是使用utf-8编码,所以在没有其他操作的情况下对中文排序不一定能得到我们想要的结果。
解决办法如下,在不改变表结构的情况下,找到了两种有效的解决办法:
第一种,将字段值改为gb2312编码排序
gb312
第二种,将字段值改为gbk编码排序
gbk
当然,也有其他办法,比如修改表结构添加字段等,在此就不一一陈述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值