-
...general_ci
è semplice. Non identifica le combinazioni di 2 caratteri (ad esempio con un segno senza spaziatura) con l'equivalente di un carattere. -
...unicode_520_ci
deriva da Unicode versione 5.20, l'ultima versione disponibile quando MySQL l'ha ripresa. Gestisce cose come avere un ordine per Emoji, che le versioni precedenti non avevano. -
Con MySQL 8.0, le regole di confronto preferite sono
utf8mb4_0900_ai_ci
, basato su Unicode 9.0. -
...<language>_ci
gestisce le variazioni trovate nella lingua data. Ad esempio, dovrebbech
ell
in spagnolo essere trattati come "lettere" e ordinare tracz
ed
elz
em
. -
Per uso generale, non utilizzare
...general_ci
, usa l'ultima versione derivata da Unicode. Per situazioni specifiche della lingua, scegli una delle altre regole di confronto. -
So come (o anche se) cinese e arabo sono ordinati in modo diverso nelle diverse regole di confronto. Tuttavia, vedo
...persion_ci
, quindi sospetto che ci sia un problema. -
Usa
utf8mb4
, nonutf8
, soprattutto perché hai bisogno del cinese.