Какой порядок сортировки использовать, чтобы `ş` и` s` рассматривались как уникальные значения? - PullRequest
0 голосов
/ 09 ноября 2018

Проблема в том, что ş и s интерпретируются MySQL как идентичные значения.

Я новичок в MySQL, поэтому понятия не имею, какие сопоставления будут рассматривать их как уникальные.

Параметры сортировки, которые я пробовал использовать, но которые не работают:

  1. utf8_general_ci
  2. utf8_unicode_520_ci
  3. utf8mb4_unicode_ci
  4. utf8mb4_unicode_520_ci

Кто-нибудь знает, какое сопоставление использовать?

P.S. Мне также действительно нужно сопоставление, чтобы интерпретировать эмодзи и другие нелатинские символы, и, насколько мне известно, MySQL и сопоставления, единственное сопоставление, способное сделать это, это unicode?

1 Ответ

0 голосов
/ 09 ноября 2018

utf8_turkish_ci и utf8_romanian_ci - как показано в http://mysql.rjweb.org/utf8_collations.html

(плюс, конечно, utf8_bin.)

Для вашего добавленного вопроса: Вы ищете «набор символов» (не «сопоставление»), который может представлять эмодзи и другие нелатинские символы - UTF-8 - это тот, который нужно использовать. В MySQL это utf8mb4. Связанные с ними параметры сортировки называются utf8mb4_.... Параметры сортировки контролируют порядок и равенство, как указано в первой части вашего вопроса о s и ş.

MySQL CHARACTER SET utf8 является подмножеством utf8mb4. Любой может справиться со всеми «письмами» в мире. Но только utf8mb4 может обрабатывать эмодзи и некоторые китайские иероглифы.

...