MySQL und Umlaute

  1. 2 months ago

    Andy M

    Aug 13 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany
    Edited 2 months ago

    Ich schreibe Daten von meiner XoJo Anwendung in einer MySQL Datenbank.
    Das Ganze läuft 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.

  2. Christian S

    Aug 13 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    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!

  3. Andy M

    Aug 13 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany

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

  4. Christian S

    Aug 13 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    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?

  5. Andy M

    Aug 13 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany

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

  6. Ulrich B

    Aug 14 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...
    Edited 2 months ago

    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?

  7. Andy M

    Aug 14 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany

    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?

  8. Ulrich B

    Aug 14 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...

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

  9. Andy M

    Aug 14 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany
    Edited 2 months ago

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

or Sign Up to reply!