Umlaute in der Datenbank

  • Ich habe eine eigene Datenbank aus der ich Daten auslese und in eine Form zu Bearbeite schreibe. Das ganze ist als WP-Plugin realisiert.

    Diese haben dann folgendes Aussehen:

    Zitat


    Betriebswirtschaftliche Grundlagen (2 t�gig)


    Ändere ich die Daten und speichere sind sie immer noch genau so zu sehen.

    Bei der Ausgabe in die Webeite erscheint alles wie es sein soll:

    Zitat


    Betriebswirtschaftliche Grundlagen (2 tägig)

    Was mache ich falsch?

    Matthias

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Da sind zwei verschiedene Zeichenkodierungen am Werk. SChau mal in den Quellcode, ob beide die gleiche haben.


    Wo genau sollte ich da nachschauen?

    Die WP-Administration hat im HTML utf8 stehen

    HTML
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


    ebenso die Ausgabe der Webseite.

    Wo müsste ich in meinem eigenen Code denn das encoding angeben?

    Matthias

  • Wenn auf der Website alles richtig ist, ist das dann nicht egal!?


    Das ich in der Administration, als dem Part wo ich die Daten bearbeite nur Unsinn sehe, sobald irgendein Sonderzeichen vorkommt ist mir nicht egal. so weiß ich nie, ob die Daten auch nachher richtig ausgegeben werden.
    Matthias

  • Dann schau doch mal in der Datenbank nach, mit welcher Zeichenkodierung sie angelegt ist.


    Ich kenne mich mit sql datenbanken kaum aus, kann aber folgendes aus phpmyadmin herauslesen:
    Die einzelnen Tabellen in der Datenbank habe die Kollation: "latin1_swedish_ci"
    Der Server meldet: # MySQL-Zeichensatz: UTF-8 Unicode (utf8)

    Was sagt mir das jetz?
    Wenn ich utf8 in den Tabellen stattdessen brauche, was müsste ich dann machen?

    Matthias

  • Ich habe die ganze Dantenbank nochmal als utf8 importiert, aber die Tabellen werden immer als "latin1_swedish_ci" erstellt.
    Jetzt bin ich ratlos was ich noch machen sollte damit die Tabellen in utf8 speichern.

    Matthias

  • Ich habe dieselbe Situation. Alles UTF-8 bis auf die Tabellen in der Datenbank:

    • WordPress (Einstellungen/Lesen) = UTF-8
    • Template-Dateien als UTF-8 (ohne BOM) gespeichert
    • MySQL Verbindung: utf-8_unicode_ci
    • MySQL Datenbank: UTF-8 Unicode (utf8)
    • [COLOR=DarkOrange] Tabellen in der DB: "latin1_swedish_ci"[/COLOR]
    • Webserver serviert "text/html; charset=UTF-8"

    Die Daten werden in den DB-Tabellen mit den falschen Sonderzeichen gespeichert, was ja auch logisch ist, weil sie UTF-8 sind und als ISO-8859 (latin) gespeichert werden.

    Auf den Webseiten werden sie korrekt ausgegeben, was auch logisch ist, weil sie ja immer noch UTF-8 sind.

    Das weiter oben erwähnte Skript von bueltge.de hilft in diesem Fall nicht wirklich weiter, denn damit könnte ich nur die Daten in der Tabelle zu ISO-8859 konvertieren. Dann würden sie zwar in der DB-Tabelle korrekt dargestellt, auf den Webseiten aber falsch.

    Bleiben die folgenden Fragen im Kopf:

    • Hilft es, die "Kollation der Tabellen nachträglich umzustellen?
    • Wenn ja, (wie) geht das für alle Tabellen auf einmal?

    Und wie vielleicht noch, woher das schwedische Latein überhaupt her kommt? Legt WordPress das bei der Installation fest?

    CSS lernen? Little Boxes - Webseiten gestalten mit CSS. Grundlagen.

  • Zur Information: Ich habe den Thread ebenfalls in einem php/mysql forum aufgemacht: Umlaute in der Datenbank - Forum: phpforum.de

    Dort wurde ich gebeten die Ausgabe von 'SHOW VARIABLES LIKE 'character_set%';' zu posten.

    Hier zum Vergleich:


    Was ich damit jetzt anfangen kann ist mir aber nicht klar.

    Ebenfalls wurde ich dort aufgeklärt, dass die 'Kollation' latin1_swedish_ci
    die Sortierreihenfolge ist und nichts mit dem Character Set zu tun hat.

    Matthias

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!