我尝试将 MySQL 表的排序规则更改为 utf8_general_cs,但出现以下错误:
mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_cs';
ERROR 1273 (HY000): Unknown collation: 'utf8_general_cs'
我运行“SHOW COLLATE”命令,但结果中没有“utf8_general_cs”。
我现在能做什么?
答案1
MySQL 没有区分大小写的 Unicode 排序规则,因为这是一个难题。有些语言会先排序小写字母,然后再排序大写字母,而有些语言则会先排序大写字母,然后再排序小写字母。SQL Server 会尝试区分大小写的 Unicode,并考虑到语言环境。
您有以下几种选择:
- 使用排序规则 utf8_bin (可能是最简单的)
- http://dev.mysql.com/doc/refman/5.1/en/adding-collation-unicode-uca.html