dedlfix: Mysql Phpmyadmin latin-swedish oder utf8-general_ci

Beitrag lesen

Tach!

Was mich am meisten wundert ist, dass per Default immer diese, ohnehin schon verwirrenden, Zeichenkodierungen auf latin-swedish eingestellt sind, anstatt auf utf8-general_ci.

Historisch bedingt, das ist der Default-Wert von MySQL. (MySQL war eine schwedische Firma.) Die Zeichenkodierungsgeschichte gibts allerdings schon seit Version 4.x in MySQL.

Warum überhaupt so viele Codierungen, und welche sollte man wirklich als Default nehmen?

Es haben sich im Laufe der Zeit (außerhalb MySQLs) eine Menge Kodierungen entwickelt. Dazu kommt noch, dass Sprachen unterschiedliche Auffassungen haben, wie Umlaute und andere von den lateinischen Basisbuchstaben abweichende Zeichen zu behandeln sind, beispielsweise bei Sortierung und Vergleichen.

Unter der Voraussetzung, dass Deutsch und Englisch die für dich relevanten Sprachen sind: utf8_general_ci oder utf8_unicode_ci oder utf8_german2_ci. Oder utf8mb4_general_ci oder utf8mb4_unicode_ci oder utf8mb4_german2_ci, wenn es der volle Unicode-Umfang sein soll.

Ich nehme meist general, denn ob es nach DIN 5007 Variante 1 (Lexikon) oder 2 (Telefonbuch) sortiert wird, ist meist unerheblich.

Der erste Teil einer solchen Angabe ist die Kodierung, die anderen beiden sind Angaben zur Collation. Die Collation ist für Vergleichs- und Sortierregeln zuständig. Der wichtigste Teil ist die Kodierungsangabe, der legt fest, wie die Daten physisch abgelegt werden und bestimmt, welche Zeichen verwendet werden können.

dedlfix.