Altere o agrupamento de uma tabela MySQL para utf8_general_cs


8

Tentei alterar a tabela MySQL de agrupamento para utf8_general_cs, mas obtive o seguinte erro:

mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_cs';
ERROR 1273 (HY000): Unknown collation: 'utf8_general_cs'

Eu corro o comando "SHOW COLLATE" e "utf8_general_cs" não está nos resultados.

O que eu posso fazer agora?

Respostas:


13

O MySQL não possui agrupamentos Unicode sensíveis a maiúsculas e minúsculas, porque é um problema difícil. Alguns idiomas agrupam letras minúsculas antes de maiúsculas e outros agrupam letras maiúsculas antes de minúsculas. O SQL Server tenta executar Unicode com distinção entre maiúsculas e minúsculas, levando em consideração a localidade.

Você tem algumas opções:


É interessante como a distinção entre maiúsculas e minúsculas é um problema difícil. Se você me pedisse para adivinhar, eu aceitaria que não diferenciar maiúsculas de minúsculas é um problema mais difícil de resolver. Você pode elaborar um pouco isso?
Robo Robok

A próxima frase descreve o problema. A IBM possui uma série de páginas sobre "agrupamento com reconhecimento de idioma". A distinção entre maiúsculas e minúsculas é super fácil, porque não importa como o idioma classifica diferentes casos.
David M

Eu ainda não entendo. Os idiomas classificam os caracteres por acentos, não por caso.
Robo Robok

Desculpe, estou ocupado hoje. Talvez isso ajude: lmgtfy.com/?q=why+is+unicode+case+sensitive+hard
David M

Não retorna nada, porque sua afirmação simplesmente não é verdadeira.
Robo Robok
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.