将MySQL表的排序规则更改为utf8_general_cs


8

我试图将排序规则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”不在结果中。

我现在能做什么?

Answers:


13

MySQL没有区分大小写的Unicode归类,因为这是一个难题。一些语言在大写之前先将小写排序,另一些语言在小写之前先将大写排序。SQL Server尝试使用区分语言环境的方式进行区分大小写的Unicode。

您有两种选择:


区分大小写是一个难题是很有趣的。如果您要我猜测,我会考虑不区分大小写是一个更难解决的问题。您能详细说明一下吗?
Robo Robok

下句话描述了问题。IBM有一系列有关“语言感知排序规则”的页面。不区分大小写是非常容易的,因为语言对不同的大小写进行排序无关紧要。
David M

我还是不明白 语言按重音而不是大小写对字符进行排序。
Robo Robok

对不起,我今天很忙。也许这会有所帮助:lmgtfy.com/?q=why+is+unicode+case+sensitive+hard
David M

它不返回任何内容,因为您的陈述不正确。
Robo Robok
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.