echo $begrüßung;
Tja, mit ASCII-Code 128 (ja, als "€"!) wird das Euro-Zeichen "korrekt" gespeichert und auch wieder angezeigt. Ich verstehe das nicht wirklich. Meines Wissens ist in ISO-8859-1 das Euro-Zeichen nicht enthalten. Auch nicht als ASCII-Wert 128. Spielt mir meine Windows-Umgebung da einen Streich?
Im Bereich x80 bis x9f (128..159) liegen unter ISO-8859-1 keine darstellbaren Zeichen. Jedoch definiert Windows-1252 in diesem Bereich einige Zeichen. Der Rest ist zu ISO-8859-1 kompatibel. (Ebenfalls unter dem angegebenen Link zu sehen.) Die meisten Browser gehen bei Angabe von ISO-8859-1 und Codes aus dem erwähnten Bereich davon aus, dass der Anwender das entsprechende Windows-1252-Zeichen meint und stellen es auch so dar, statt sich mit Bugreports von Windows-Usern über fehlende Euro-Zeichen rumzuschlagen. So wie du das mit dem € beobachtet hast, werden sie diese stillschweigende Korrektur wohl auch auf Unicode übertragen, denn da ist dieser Bereich ebenfalls nicht mit darstellbaren Zeichen belegt. Unicode-Block Latin-1 Supplement (Lateinisch-1, Ergänzung) (0080–00FF)
echo "$verabschiedung $name";