Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Welches COLLATE sollte ich einstellen, um alle möglichen Sprachen zu verwenden?

  • Erste Wahl (MySQL 8.0):utf8mb4_0900_ai_ci
  • Zweite Wahl (ab 5.6):utf8mb4_unicode_520_ci
  • Dritte Wahl (5.5+):utf8mb4_unicode_ci
  • Vor 5.5 können Sie weder Chinesisch noch Emoji verarbeiten:utf8_unicode_ci

Die Zahlen beziehen sich auf die Unicode-Standards 9.0, 5.20 und (keine Zahl) 4.0.

Keine Sortierung ist gut, um alle zu sortieren Sprachen gleichzeitig. Spanisch, Deutsch, Türkisch usw. haben Macken, die nicht kompatibel sind. Die obigen Kollatierungen sind die „besten“ Allzwecksortierungen, die es gibt.

utf8mb4 verarbeitet alle bisher von Unicode spezifizierten Zeichen (einschließlich Cherokee, Klingon, Cuneiform, Byzantine usw.)

Wenn Portugiesisch im Fokus steht:

Siehe https://pt.stackoverflow.com/ und MySQL-Sortierung für Portugiesisch .

Studieren Sie dies für 8.0 oder dies für vor 8.0 um zu sehen, welche utf8/utf8mb4-Sortierung der "richtigen" Sortierung von Portugiesisch am nächsten kommt. Vielleicht utf8mb4_danish_ci oder utf8mb4_de_pb_0900_ai_ci wäre am besten.

(Ansonsten gehen Sie mit den oben aufgeführten 'Auswahlmöglichkeiten' weiter.)