Umlaute in Datenbank speichern

  • Hallo zusammen.


    Ich weiß, es ist eine never ending story mit den Umlauten, aber ich steige gerade nicht durch.


    Ich lese Daten aus einer Datenbank-Tabelle aus. Diese Tabelle die Kollation "utf8_general_ci"

    Die einzelnen Spalten haben ebenfalls die Kollation "utf8_general_ci".

    In der Tabelle sind Umlaute ganz normal gespeichert (also physisch auch vorhanden).


    Nun, nachdem ich die Daten ausgelesen und entsprechend verarbeitet habe, möchte ich diese Daten widerrum in einer anderen Tabelle mit den gleichen Kollationen speichern..

    Hier fängt nun bereits das Problem an. Denn in dieser Tabelle werden die Datensätze unvöllständig gespeichert und quasi ab dem ersten Umlaut "abgebrochen.


    Woran kann das liegen bzw. wie kann ich das lösen? Ich bin davon ausgegangen, dass ein meta charset nicht das Problem sein dürfte, weil Joomla das ja von Hause aus berücksichtig. Hab ich im Quellcode auch kontrolliert. Das ist richtig definiert.


    Hat jemand eine Idee?

  • Das hängt davon ab, welchen Weg die Daten gehen. Alles sollte UTF-8 sein, also auch die verarbeitenden PHP-Dateien und ein HTML-meta-charset ist nicht unbedingt Gewähr dafür, dass der Server selbst keinen Quatsch macht.


    Kurz: Wir wissen zu wenig über deinen Code und Umgebung etc.

    Ja, das hätte ich dazu schreiben sollen. Ich bewege mich mit meinem Code vollständig in der Joomla Umgebung mittels DirectPHP.


    Heißt:

    Beitrag erstellt mit Abfrage-Code für Daten-Abfrage aus Tabelle 1


    Anschließend Daten verarbeitet und im selben Beitrag Dateneintrag in Tabelle 2


    So sieht das aus:


    Und später im gleichen Beitrag dann der Code zum eintragen in die Tabelle 2


    Der Code funktioniert. Es herrscht nur das Problem mit den Umlauten.


    Mehr ist es nicht. Vor dem Code ist noch ein wenig HMTL für Text.

  • Nur zur Info. Thread kann als erledigt geschlossen werden. Ich habe das Problem selbst lösen können. Für die Nachwelt möchte ich die Lösung hier noch einstellen.


    Bei mir lag das Problem am Server. In der Datenbank war alles korrekt eingestellt. Da ich meine Website jedoch bei Alfahosting hoste und dieser Provider als "default-charset" ISO-8859-1 hinterlegt hat, wurden meine Vorgaben Serverseitig komplett ignoriert.


    Ich musste demnach bei Alfahosting lediglich das "add-default-charset" auf "off" stellen und anschließend in meinem Script charset=utf8 definieren. Nun funkt alles wie es soll.


    Danke trotzdem nochmals an dich Re:Later für deine Unterstützung. Der Hinweis zum Server hat mich auf den Weg geführt.