Hi!
Die Verbindungskodierung über phpmyadmin ist auf utf8_unicode_ci, die Zeichen werden fehlerhaft dargestellt. Das ist aber nicht mein primäres Problem (auch wenn es mich interessiert, warum das nicht richtig dargestellt wird). Das primäre Problem ist die Sortierung: die ist falsch.
Nein, dein primäres Problem ist die nicht ausgehandelte Verbindungskodierung. Daraus resultiert, dass MySQL die Zeichen nicht richtig interpretieren kann, was wiederum dazu führt, dass die Sortierung nicht passt.
Üblicherweise macht der phpMyAdmin alles richtig. Man kann dort im Prinzip nichts verkehrtes einstellen. Und wenn der PMA alles richtig anzeigt, machen auch andere Anwendungen alles richtig.
In meinen php-Skripten habe ich keine Verbindungskodierung eingestellt. Die Zeichen werden korrekt dargestellt. Die Sortierung ist falsch.
Stell die Verbindungskodierung ein, dann kann MySQL richtig arbeiten.
Was ich im wiki und sonst nirgends gefunden habe: Wie hängt denn Verbindungskodierung und Kollation zusammen?
Kodierung und Kollation hängt insofern zusammen, als dass nur bei richtig kodierten Daten die Kollation richtig arbeiten kann.
Ich dachte, die Abfrage wird in MYSQL intern gemacht, in ein Paket gepackt und zu php geschickt und zwar schon sortiert? Dann muss doch der Fehler schon vorliegen, bevor überhaupt ein Datenbit über eine Verbindung mit eine gewissen Kodierung verschickt wurde?
MySQL kann nicht richtig arbeiten, wenn es zur ausgehandelten oder Default festgelegten Kodierung keine passenden Daten gesendet bekommt. Die fehlerhafte Sortierung ist ein Folgefehler.
Lo!