MySQL und Umlaute

Ich schreibe Daten von meiner XoJo Anwendung in einer MySQL Datenbank.
Das Ganze luft seit mehreren Jahren ohne Probleme.

Jetzt habe ich das Problem, dass bei neuen Schema die Umlaute nicht mehr passen.
Wechsle ich auf das alte Schema ist alles OK.

Beide Schema sind utf8 und uft8_general_ci.
Ist jemanden bekannt, ob es eine generelles Problem bei neu angelegten Schema gibt?
Ehrlich gesagt bin ich im Moment etwas ratlos.

Wenn du nicht sowieso MBS Xojo SQL Plugin nimmst, was Unicode automatisch macht, dann musst du für MySQL schon Arbeit reinstecken.

Also SET NAMES UTF-8, dann DefineEncoding für alle Texte aus der Datenbank und ConvertEncoding nach UTF-8 für alle Texte, was du Richtung DB schickst. Das Xojo MySQL Plugin nimmt dir das nicht ab!

Danke Christian. Ich verstehe nur nicht, warum das jetzt ein paar Jahre gelaufen ist und jetzt nicht mehr…

Früher hast du vermutlich utf8 blind in ein Schema mit iso latin1 geschrieben.
Und jetzt macht MySQL vielleicht auch utf-8 und du merkst, dass was nicht richtig ist?

Nein, Einstellungen waren immer Default characterset utf8 und default collation utf8_general_ci.

Ist möglicherweise beim Transfer auf das neue Schema was schiefgegangen? Dort die Codierung an einer Stelle vergessen?
MySQL funkt durch seine Bevorzugung von schwedischem Encoding auch gerne mal dazwischen, bzw. auch beim Dump muss man höllisch aufpassen, das korrekte Encoding zu wählen.

EDIT: Schau dir beide Tabellen, alt und neu, doch mal in einem MySQL-Editor an. Weichen ihre Umlaute sichtbar voneinander ab, obwohl beide UTF8-codiert sein sollten?

Hallo Ulrich, bin jetzt etwas weiter. Es scheint wohl so zu sein, dass irgendetwas mit dem MySQL Schema passiert. Ich habe es noch mal komplette gelöscht. Den Server neu gestartet und dann das Schema neu angelegt. An meinem Code habe ich nichts geändert.
Jetzt werde die Umlaute wieder richtig übernommen.
Es scheint also wirklich so zu sein, dass das Schema crashed und dann die Kodierung nicht mehr stimmt.
Hast du schon mal davon gehört?

Von gecrashtem Schema nicht. Von Problemen mit den Umlauten bei MySQL – ach, wenn ich doch nur davon gehört hätte! :wink:

Alles klar. Ich werde das mal weiter beobachten, vielleicht finde ich ja was raus…