dedlfix: utf8_unicode_ci vs. utf8_general_ci

Beitrag lesen

echo $begrüßung;

habe vor kurzer Zeit meinen Server gewechselt und dabei auch eine neue Datenbank bekommen. Bei meiner alten Datenbank war der Standart des Zeichensatzes utf8_unicode_ci. Bei der neuen allerdings utf8_general_ci.

Zum einen heißt es entweder "die Standart" oder "der Standard", wobei eine Standart hier keinen richtigen Sinn ergibt. Zum anderen sind utf8_unicode_ci bzw. utf8_general_ci Angaben zur Kollation. Die Kollation kommt bei Sortierungen und Vergleichen zur Anwendung.

Da mehr Tabellen noch den alten utf8_unicode_ci hatten, habe ich nun alles auf utf8_unicode_ci umgestellt.

Die Kollationsangabe einer Datenbank oder einer Tabelle hat nur Auswirkungen auf neu erstellte Tabellen und Felder, bei denen keine Kollation angegeben wurde. Es wird dann der Wert des übergeordneten Containers verwendet. Für einen Vergleich werden dann die Werte der Felder herangezogen.

Wo liegt da eigentlich der Unterschied? Welcher ist besser, bzw. kann man das ÜBerhaupt sagen?

Der Unterschied liegt in der Art und Weise, wie bestimmte Zeichen und Zeichenfolgen miteinander vergleichen werden, bzw. bei dem Ergebnis, das bei einem Vergleich rauskommt. Siehe MySQL-Handbuch-Kapitel Unicode Character Sets.

echo "$verabschiedung $name";