1 需求 如题 2 背景 1、数据库表字段的字符编码是utf8_general_ci 2、常规直接按字符串排序,达不到预期效果 3 实现 首先,对name字段进行gbk编码,然后,对编码后的内容根据gbk_chinese_ci进行整理排序。这样得到的结果,英文是排在中文前面的,而且是根据拼音排序的。 select id, name from user order by CONVERT(name USING gbk ) COLLATE gbk_chinese_ci ASC