TS: mysql: Mich hat das Umlautproblem erwischt

Beitrag lesen

Hello,

beim Eintrag in meine DB über ein Formular, das in einem Jquery UI-Dialogfenster eingeblendet wird, erhalte ich Hieroglyphen anstelle von Umlauten.

Erstmal Codierung gecheckt: <meta http-equiv="content-type" content="text/html; charset=utf-8" />

Sollte in Ordnung sein. Da aber meine DB und auch die Tabellen latin1_general_ci sind, habe ich es auchmal mit folgendem Header versucht: <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

Dasselbe Ergebnis. Also wieder zurück auf den UTF-8 Header gewechselt und eine UTF-8 Datenbank erzeugt. Aber schon wider dasselbe Ergebnis.

Woran kanns denn noch liegen? Am UI-Dialog?

Das Problem liegt irgendwo*) in der Kette. Du musst grundsätzlich meistens unterscheiden zwischen Content-Encoding und Content-Transfer-Encoding. Wenn eine Kodierung oder Rückkodierung (sofern möglich) vergessen wird, knallt es eben.

Wenn deine Webseite in UTF-8 arbeitet, dann passt das schon mal generell zu den Popups durch jQuery. Wenn diese nun auch noch direktes AJAX betreiben (auch in UTF-8), dann sollte es hier schon mal keine Transformationsprobleme geben.

Nun sollte aber auch auf dem Server die Verbindung zwischen der Skriptsprache (PHP?) und der Datenbank passen. Auch hier müssen wieder alle Kodierungsparameter zusammenpassen. Speicherkodierung der DB, Transfer-Encoding und Arbeitskodierung der API (PHP?).

Hinzu kommt, dass MySQL auch selbstständig Transformationen vornehmen kann, wenn die passenden Einstellungen gewählt wurden.

Ich vermute mal, dass Dir Dedlfix dazu in zwei bis drei knappen Sätzen noch den richtigen Weg weisen kann. Das ist eines seiner Spezialthemen ;-)

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.