echo $begrüßung;
» lasse die ganzen Texte mit Server.HTMLEncode durchfiltern, damit Sonderzeichen und Umlaute in HTML Entities umgewandelt werden.
Warum? Hast du in einen Texten Zeichen, die in ISO-8859-1 nicht darstellbar sind? Wenn nicht, dann gib den Text doch einfach im Klartext aus und lass die Umwandlung in HTML-Entities sein.
Das ist vermutlich keine gute Empfehlung. Ich weiß zwar nicht, was diese ASP-Funktion genau macht, aber ihr Pendant in ASP.NET kümmert sich neben den Zeichen 0xA0 bis 0xFF auch um <, >, " und &. Die will man nicht unbedingt 1:1 ausgeben. (Die Zeichen oberhalb von 0xFF werden nicht NCRisiert. Auch gibt es leider keine (mitgelieferte) Funktion (in ASP.NET), die nur die HTML-eigenen Zeichen berücksichtigt.)
» Diese Funktion wandelt ein ü zum Beispiel aber nicht in ü sondern in ü um.
Progammiertechnisch ist es einfacher, den Zahlenwert zu ermitteln als sich für alle Zeichen die Entitys herauszusuchen.
echo "$verabschiedung $name";