从数据库中读数据用order by 中文的时候,发现读的数据不是按拼音字母排列的,记得以前都是正常的啊?
搜索了下 发现 原来 对于gb2312的中文字符 mysql的排序才正常,而用utf8 就不正常了,此时需要使用 mysql的内置函数convert了,比如
select name from test order by convert(name using gb2312) asc
注意name是字段名,这样结果就正确了
从数据库中读数据用order by 中文的时候,发现读的数据不是按拼音字母排列的,记得以前都是正常的啊?
搜索了下 发现 原来 对于gb2312的中文字符 mysql的排序才正常,而用utf8 就不正常了,此时需要使用 mysql的内置函数convert了,比如
select name from test order by convert(name using gb2312) asc