犯罪嫌疑人X
今天又测试了一下,使用utf8字符集创建的表或者字段使用的是utf8字符集,中文的排序是不正确的,如果表和字段是gbk字符集,则可以正确的排序。mysql> create table tt_character (name varchar(20)) default charset gbk;Query OK, 0 rows affected (0.03 sec)mysql> create table tt_character1 (name varchar(20)) default charset utf8;Query OK, 0 rows affected (0.04 sec)mysql> insert into tt_character values('兰州'),('安徽'),('江西');Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> insert into tt_character1 values('兰州'),('安徽'),('江西');Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> select * from tt_character1 order by name;+------+| name |+------+| 兰州 || 安徽 || 江西 |+------+3 rows in set (0.00 sec)mysql> select * from tt_character order by name;+------+| name |+------+| 安徽 || 江西 || 兰州 |+------+3 rows in set (0.00 sec)