dedlfix: Codierung (Charset UTF-8)-- NEUES PROBLEM

Beitrag lesen

echo $begrüßung;

so, heute ist mir aufgefallen, dass ich doch ein Problem mit den Zeichen und insbesondere den Umlauten habe.

Auch wenn du das Problem schon gelöst hast, gestatte ich mir einige Anmerkungen.

-- MySQL-Tabellen haben Character set UTF-8

Die Kodierungsangabe der Tabelle ist nicht so wichtig. Das ist nur ein Defaultwert, der für neue Felder verwendet wird, wenn für diese keine explizite Angabe gemacht wurde. Mit welcher Kodierung die Daten in den Feldern abgelegt werden sollen bestimmt deren Kodierungsangabe.

-- Webseite ist mit Meta-Tag als UTF-8 gekennzeichnet

Ein gleichnamiger HTTP-Header überschreibt diese Angabe. Das Meta-Element sollte trotzdem enthalten sein, denn gelegentlich speichert man Dokumente lokal ab, und dann ist kein HTTP-Header mehr vorhanden.

-- Daten werden ohne Bearbeitung/Umwandlung so wie sie von der Webseite kommen in die Tabellen gespeichert,

Das ist nicht richtig. MySQL wandelt gegebenenfalls die Kodierung der Daten, wenn die Kodierungsangabe der Felder nicht mit der Angabe der aktuellen Verbindung übereinstimmt.

über PHPMyAdmin werden Umlaute etc. richtig angezeigt (Kodierung im Browser UTF-8, ebenso PHPMyAdmin)

Wenn der PMA die Daten richtig anzeigt, kann man im Allgemeinen davon ausgehen, dass sie im DBMS richtig kodiert drinstehen.

-- Daten aus der Datenbank werden in der Webseite auch unverändert angezeigt (also ohne die Kodierung zu verändern meine ich),

siehe zwei Punte weiter oben

Die Webseiten tragen jetzt utf-8 als meta-tag Kodierung und plötzlich sind alle Umlaute falsch dargestellt, in Firefox erscheint jetzt dieses Fragezeichen-Symbol.

"Falsch dargestellt" werden kann etwas auf vielfältige Art und Weise. Wenn du der Ursache auf den Grund gehen willst, solltest du genauer beobachten und beschreiben was passiert. Bei Kodierungsproblemen empfiehlt es sich, die Bytewerte anzusehen.

Wenn ich in ein Formular z. B. ä eingebe und an den Server zum Speichern in der Tabelle schicke, dann steht in der Tabelle (über PHPMyAdmin mit Kodierung UTF-8) kein lesbares ä mehr drinnen, sondern "Müll", also unleserliches Zeichen anstelle des ä.
Jemand einen Tipp wo ich ansetze um die Kodierung wieder passend zu machen, [...]?

Liest du überhaupt die Anworten, die dir gegeben werden? Der Hinweis auf SET NAMES kam doch schon mit der ersten Antwort auf deine Ursprungsfrage.

echo "$verabschiedung $name";