Tach!
Kollation -> Zeichensatz (Wenn deine ganze Anwendung UTF-8 nutzt, solltest du auch in der Datenbank UTF-8 nehmen, z.B.
utf8_general_ci
(Case-insensitivity = Groß- und Kleinschreibung wird beim Vergleichen nicht berücksichtigt („HALLO“ ist gleich „hallo“)))Nein. Die Kollation gibt nicht die verwendete Zeichenkodierung (nicht den „Zeichensatz“; wundert mich echt, dass der Fauxpas unbemerkt blieb) an. Mit ihr wird festgelegt, wie eine alphabetische Sortierung der Inhalte der Spalte unter Berücksichtigung etwaiger sprachlicher Besonderheiten (z.B. diakritische Zeichen) erfolgen wird.
Ja, zu dem, was du über die Kollation schreibst. Aber die Angabe in einem Feld ist kombiniert mit einer Angabe zur Kodierung. Die Kollation ist von der Kodierung abhängig. Zum Beispiel ergibt irgendwas asiatisches als Kollation zusammen mit Latin1 als Kodierung keinen Sinn.
Die beim lesen und schreiben von Daten zu benutzende Zeichenkodierung wird beim Herstellen der Verbindung für die Verbindung ausgehandelt (mit einer Funktion der Programmiersprache oder als Query (z.B.
SET NAMES utf-8
)).
Ja, und MySQL kodiert gegebenenfalls von und zu dieser Verbindungskodierung um, wenn in den Feldern andere Kodierungsangaben stehen.
dedlfix.