dedlfix: [MySQL] Abfragen ob DB utf8 ist

Beitrag lesen

echo $begrüßung;

(ü wird als ³ dargestellt usw.)

Das ist ungewöhnlich. Wer weiß, was dir da in welcher Form kaputtgegangen ist.

Hab ich was vergessen bzw. hast du eine Idee an was es noch liegen kann?

Zwei Dinge sind wichtig: die Kodierung der Felder - die hast du ja schon eingestellt - und die Kodierung der Client-Verbindung. Letztere sollte man nach jedem Verbindungsaufbau (Connect) explizit einstellen. Dazu gibt es die MySQL-API-Funktion mysql_set_character_set() und diverse Pendants dazu in den Implementationen der Systeme (z.B. PHP: mysql[i]_set_charset()). Wenn es das nicht gibt, tut es für UTF-8 und ISO-8859-x/LatinX auch ein "SET NAMES"-Statement. Die Daten müssen dann natürlich UTF-8-kodiert zum DBMS gesendet werden und kommen auch so wieder zurück.

Das ist im Grunde schon ausreichend.

Nun kann es sein, dass durch dein bisheriges Nichtbeachten der Kodierungsgeschichte schon fehlerhafte Daten in deinen Tabellen stehen. Wenn der phpMyAdmin alles richtig anzeigt, ist mit den Daten alles in Ordnung. Wenn nicht, und auch der ü als ³ darstellt, sehe ich derzeit nur eine manuelle Korrektur als Lösung.

echo "$verabschiedung $name";