mysql汉字拼音排序测试

关于mysql汉字拼音排序的一些测试,网上搜了一些相关的资料,同时自己也做了下简单的测试,UTF8编码未做测试,只测了GBK,GBK下,其实直接order by 就可以了,但是涉及英文字母的时候,不会和中文间隔排序,但基本也满足我需求了,不用排序很精准,仅供参考。

-- create table
CREATE TABLE IF NOT EXISTS `test` (
  `id` smallint(5) NOT NULL AUTO_INCREMENT,
  `username` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
-- insert
insert into test(username) values('张三'),('李斯'),('王五'),('马六'),('钱起'),('wikimo'),('james'),('lucy');
-- select data
SELECT  *  FROM  test   ORDER BY CONVERT( username USING gbk ) COLLATE gbk_chinese_ci ASC; 
select  *  from test order by username asc;

参考资料: http://stanlyy.iteye.com/blog/654834 http://hi.baidu.com/java513/item/91c715c288a894330831c63a