echo $begrüßung;
wenn ich set names benutze, werden umlaute aus der datenbank falsch angezeigt.
mit meiner variante umgehe ich das problem.
Da läuft etwas grundlegend verkehrt. Zeigt der phpMyAdmin alle Umlaute richtig an? Die schon vorhandenen und eventuell neu hinzugefügte?
Wenn mit dem phpMyAdmin alles richtig angezeigt wird, kann man davon ausgehen, dass die Daten entsprechend der eingestellten Feldkodierung in der DB abgelegt sind. Wenn nicht, gibt es Korrekturbedarf. Der ist davon abhängig, was konkret für falsche Zeichen angezeigt werden.
Für die Zusammenarbeit mit MySQL ab Version 4.1 ist es immer empfehlenswert, die zu verwendende Zeichenkodierung explizit einzustellen. Wichtig sind dabei die Angaben für die einzelnen Felder und die für die Client-Verbindung. Von der Feld-Kodierung hängt ab, welche Zeichen gespeichert werden können. Die Kodierungsangabe der Client-Verbindung definiert die für die Übertragung zu verwendende Kodierung, also in welcher Kodierung man mit MySQL zu sprechen gedenkt und wie man die Daten zurückhaben möchte. MySQL wandelt selbständig zwischen unterschiedlichen Kodierungen hin und her, was aber prinzipbedingt nur dann fehlerfrei geht, wenn mit der Zielkodierung das entsprechende Zeichen dargestellt werden kann.
echo "$verabschiedung $name";