echo $begrüßung;
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_bin'");
Das ist doppelt gemoppelt. SET NAMES überschreibt die Einstellung von SET CHARACTER SET. Außerdem ist SET CHARACTER SET höchstens dann eine sinnvolle Option, wenn man sich der Funktionsweise bewusst ist. Ansonsten kann es bei unsachgemäßer Anwendung zu Datenverlust führen.
Mit utf8_encode/_decode habe ich experimentiert, aber ich bekomme ums V... keinen kyrillischen Text heraus.
Warum? ISO-8859-1 kennt keine kyrillischen Zeichen, weswegen diese Funktionen für dich sowieso nicht anwendbar sind.
Kann jemand meine Nase auf das stoßen, was ich übersehe?
Ich nicht, denn das kann ich deiner Beschreibung nicht entnehmen. Prüfe das Ergebnis der Datenbankabfrage. Welche Bytefolge erhältst du für ein paar definierte Test-Zeichen? Stimt diese mit der UTF-8-Kodierung für diese Zeichen überein? Eine Bytefolge sichtbar machen kann man in PHP z.B. mit chunk_split(bin2hex($delinquent), 2, ' ') oder auch url_encode($delinquent)
echo "$verabschiedung $name";