dedlfix: utf-8 problem mit Datenbank

Beitrag lesen

echo $begrüßung;

meine Seiten sind alle mit utf-8 und in utf-8 und die MySql verbindung ist auch auf utf-8 gestellt.

Das reicht noch nicht. Zeichenkodierungen lassen sich unter anderem auch für die Felder einer Tabelle einstellen. Ich empfehle die Lektüre des MySQL-Handbuchkapitels Character Set Support.

Schriebe ich sie dann in die Datenbank (mit 'SET NAMES utf8') und hohle diese dann ab und gebe sie wieder aus, so erschienen ? statt den Zeichen.
Hat jemand eine Idee warum?

MySQL wandelt zwischen den verschiedenen Kodierungen selbständig hin und her. Prinzipbedingt ist das nicht immer verlustfrei möglich. 1.114.112 Zeichen lassen sich nun mal nicht mit nur 256 Werten darstellen. Meine Vermutung ist, dass MySQL zum Speichern in die Felder die Daten nach Latin1 (entspricht ISO 8859-1) umwandeln muss, weil die Felder so eingestellt sind. Dabei kommt es zum Verlust der nicht mit Latin1 darstellbaren Zeichen.

echo "$verabschiedung $name";