在mysql教程中关于中文排序是一个比较有意思的问题,特别是对字段为uft-8或不是gbk,gb2312的字段类型是中文排序就出有问题,下面我们来看一个实例。
create table `test111cnnet` (
`bid` int(4) unsigned not null auto_increment,
`namerean` varchar(20) character set gbk default null,
primary key (`id`)
) ;保存部份数据
insert into `test1` (`id`, `namerean`) values('李');
insert into `test1` (`id`, `namerean`) values('邓');
insert into `test1` (`id`, `namerean`) values('站');
mysql教程>select namerean fromtest111cnnetorder by namerean;
邓(d)
李(l)
站(z)
这样看上去mysql中文排序是没有任问题,因为我们的namerean是gbk编码,所以结果是满意的,那么如果是uft-8就不行了,所以我们构造了一条,
select namerean from test111cnnet order by convert(namerean using gb2312) asc;这样,不管当前字段为什么编码,他都能很好的按中文拼音进行排序了。