问题 在mysql中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。 解决 使用CONVERT函数 SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk) ; 解析 我的数据库默认编码是utf8 utf8 默认校对集是 utf8_general_ci , 不是按照中文来的。 需要把数据转为中文编码,然后进行排序。