Alex: utf8_unicode_ci vs. utf8_general_ci

Hi und Hallo,

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. Da mehr Tabellen noch den alten utf8_unicode_ci hatten, habe ich nun alles auf utf8_unicode_ci umgestellt. Wo liegt da eigentlich der Unterschied? Welcher ist besser, bzw. kann man das ÜBerhaupt sagen? Ich hoffe das mir jemand helfen kann bzw. nützliche Links für mich hat.

--
mfg alex
  1. 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";

  2. Hi!

    Welcher ist besser, bzw. kann man das ÜBerhaupt sagen?

    Wie soll man denn sagen, welche Codierung besser ist?
    Das ist eine Frage, was du machen willst.
    Um deutsche Umlaute darzustellen wäre eine Codierung mit Umlauten halt besser als eine mit chinesischen Zeichen...
    In deinem Fall geht es aber nicht nur um die Textkodierung, sondern auch um die Sortierreihenfolge, was deine Frage nach dem Unterschied beantwortet.

    Ich hoffe das mir jemand helfen kann bzw. nützliche Links für mich hat.

    http://dev.mysql.com/doc/refman/5.1/de/charset-charsets.html
    http://dev.mysql.com/doc/refman/5.1/de/charset-unicode-sets.html

    Schöner Gruß,
    rob