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