MySQL UTF-8中文排序
假如在MySQL的表中有一列字段是中文,需要根据该字段从a-z的顺序排序时。
如:
表user
id name
1 张三
2 李四
3 王五
4 法克鱿
由于编码关系,当执行
select * from user order by name desc
时得到的结果不是a-z
对此我相处了两种解决方案
1、GBK的编码方式下的排序是根据a-z,所以可以在获取的时候将该字段转换成gbk编码
如:
select * from user order by convert(name using gbk) desc
,该方法可确保排序
2、在java排序:使用Collections的sort排序,重写Comparator加入自定义排序