Изменить параметры сортировки таблицы 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
Дэвид М

Он ничего не возвращает, потому что ваше утверждение просто не соответствует действительности.
Робо Робок
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.