Изменить параметры сортировки таблицы 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» отсутствует в результатах.

Что я могу сделать сейчас?

Джек
источник

Ответы:

13

В MySQL нет сортировки Unicode с учетом регистра, потому что это сложная проблема. Некоторые языки сопоставляют строчные буквы перед прописными, а другие сопоставляют прописные перед строчными. SQL Server пытается использовать Unicode с учетом регистра, принимая во внимание локаль.

У вас есть несколько вариантов:

Дэвид М
источник
Интересно, как чувствительна к регистру сложная проблема. Если бы вы попросили меня угадать, я бы сделал вывод, что решение без учета регистра является более сложной проблемой. Можете ли вы остановиться на этом немного?
Робо Робок
Следующее предложение описывает проблему. У IBM есть серия страниц о «сопоставлении с учетом языка». Независимо от регистра очень просто, потому что не имеет значения, как язык сортирует разные случаи.
Дэвид М
Я до сих пор не понимаю. Языки сортируют символы по акцентам, а не по случаю.
Робо Робок
Извините, я сегодня занят. Может быть, это поможет: lmgtfy.com/?q=why+is+unicode+case+sensitive+hard
Дэвид М
Он ничего не возвращает, потому что ваше утверждение просто не соответствует действительности.
Робо Робок