echo $begrüßung;
In der MySQL-Datenbank sind die Daten seit jeher in "latin1_swedish_ci" abgespeichert, war wohl so voreingestellt. [...]
Werden mit der Umstellung bei "Kollation" nicht die ganzen gespeicherten Daten in UTF8 umgewandelt?
Das werden sie.
Jetzt wäre mein Gedanke gewesen: Es müssten doch nun eigentlich auf meiner Gästebuch-HTML-Seite (charset=iso-8859-1) alle Umlaute _falsch_ angezeigt werden. Mit so Fragezeichen in einer Raute beispielsweise. Die Frage ist jetzt: Warum sind nach der Umwandlung immer noch alle Umlaute erkennbar?
Ich nehme an, es wurde seitens des Administrators eine Einstellung zur auf den Client-Verbindungen zu verwendenden Default-Kodierung getroffen, die "latin1" heißt. Schau dir die "MySQL-Systemvariablen" zu den Werten character-set-client, character-set-connection und character-set-results an. Wenn vorhanden dann den Eintrag in der Zeile "Globaler Wert", die anderen gelten dann nur für die aktuelle phpMyAdmin-Verbindung. Auch unter init-connect kann eine Voreinstellung stehen.
Wenn du nun mit dem MySQL-Server UTF-8 sprechen möchtest, solltest du ihm dies explizit mitteilen. Für PHP mit der mysql-Extension gibt es nur SET NAMES utf8 als Befehl direkt nach dem Verbindungsaufbau. Für mysqli gibt es eine eigene Funktion bzw. Methode zur Kodierungseinstellung.
Ansonsten hält das MySQL-Handbuch ein eigenens Hauptkapitel für dieses umfangreiche Thema bereit: Character Set Support.
echo "$verabschiedung $name";