Mysql
 sql >> Database >  >> RDS >> Mysql

scegliendo le regole di confronto delle tabelle per i caratteri universali

  • ...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, dovrebbe ch e ll in spagnolo essere trattati come "lettere" e ordinare tra cz e d e lz e m .

  • 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 , non utf8 , soprattutto perché hai bisogno del cinese.