在MySQL数据库中使用UTF8的编码,在查询排序时会出现不按照中文拼音的顺序的情况。解决此问题的方法是把数据库编码重新设定为gbk或bg2312。但是重新设置数据库的编码,是极其不安全的一种操作。
查阅资料发现convert()函数可以实现临时编码,也就可以根据中文排序了。
select * from table_name ORDER BY CONVERT(column1 USING gbk);//根据column1列中文正序查询
select * from table_name ORDER BY CONVERT(column2 USING gb2312) desc ;//根据column2列中文倒序查询