如果表字段使用的GBK编码的话,我们可以直接order by value ,因为GBK本身就是按照拼音字母排序ABCDEFGHIGK...,当第一位相同的时候会比较第二位,以此类推。 如果表字段使用的UTF-8编码的话,通常我们都会的编码,这样我们可以使用MySQL的convert方法开转换gbk进行排序。
column_name:是排序使用的字段名
ORDER BY CONVERT( column_name USING GBK) ASC
例如
我使用code字段排序
select * from user ORDER BY CONVERT(code USING GBK) ASC;
larave中使用案例
User::orderByRaw('CONVERT(name USING GBK) ASC')->get();
参考资料