-
...general_ci
é simples. Ele não iguala combinações de 2 caracteres (como com uma marca sem espaçamento) com o equivalente de caractere único.
-
...unicode_520_ci
vem do Unicode versão 5.20, a última versão disponível quando o MySQL o pegou. Ele lida com coisas como ter um pedido de Emoji, que as versões anteriores não tinham.
-
Com o MySQL 8.0, o agrupamento preferido éutf8mb4_0900_ai_ci
, baseado em Unicode 9.0.
-
...<language>_ci
lida com variações encontradas no idioma fornecido. Por exemplo, devech
ell
em espanhol sejam tratados como "letras" e classificados entrecz
ed
elz
em
.
-
Para uso geral, não use...general_ci
, use a versão mais recente derivada do Unicode. Para situações específicas de idioma, escolha um dos outros agrupamentos.
-
Eu sei como (ou mesmo se) o chinês e o árabe são classificados de forma diferente nos diferentes agrupamentos. No entanto, vejo...persion_ci
, então eu suspeito que há um problema.
-
Useutf8mb4
, nãoutf8
, especialmente porque você precisa de chinês.