echo $begrüßung;
Das Hauptproblem ist aber die Json-Implementierung, sie macht nämlich eine implizite Unicode-zu-Utf8-Konvertierung.
Sowas geht nicht. Unicode ist ein Zeichensatz. Das ist eine Zuordnung von Zeichen zu Codepoints und nur ein theoretisches Gebilde. Unicode legt nicht fest, wie so ein Codepoint in einem Computer (z.B. in Bytes) zu kodieren ist. Dafür sind Kodierungen wie UTF-8 oder andere interne Formate von irgendwelchen Systemen zuständig. Um ein Unicode-Zeichen zu speichern ist also immer eine Kodierung erforderlich. Von der kann man, wenn sich die Notwendigkeit ergibt, in eine andere Kodierung umkodieren.
Dies ist aber nirgendwo im PHP-Manuel erklärt, womit die Probleme überhaupt entstehen. Eigentlich sollte gar keine Wandlung gemacht werden, oder dann höchstens über einen zusätzlichen Zeichensatz-Parameter.
Da das nicht passiert, kann das auch nicht im Handbuch stehen. Zu json_encode() steht allerdings zu dessen einzigem Parameter value: This function only works with UTF-8 encoded data.
echo "$verabschiedung $name";