echo $begrüßung;
Mit der besagten Codezeile werden externe RDF-Dateien ausgelesen. Umlaute in den ausgelesenen Texten werden nicht korrekt dargestellt (z.B. ü).
Das sieht aus, als ob UTF-8 als ISO-8859-1 interpretiert wird.
So wie ich das sehe, muss man die Codezeile dahingehend anpassen, dass diese auch UTF-8 richtig darstellen kann. Und die Frage ist, wie nun die Codezeile aussehen könnte.
Du kannst pro Webseite nicht zwei verschiedene Kodierungen miteinander mischen. Entweder du stellst alles auf UTF-8 um, oder du konvertierst die UTF-8-kodierten RDF-Daten in die Kodierung, die deine Seite jetzt verwendet, was jedoch auch Zeichenverlust zur Folge haben kann, da die jetzige Kodierung sicher nicht den vollen UTF-8-Umfang abdeckt. Zur Not wäre noch eine Umwandlung in Entitys oder Numerische Zeichenreferenzen möglich.
Wenn ich mal vom hierzulande Üblichen ausgehe, wirst du ISO-8859-1 (oder vielleicht Windows-1252) verwenden. Dann wandelt das erwähnte utf8_decode() nach ISO-8859-1 um, zumindest die damit darstellbaren Zeichen. htmlentities() wandelt bei Angabe von UTF-8 als dritten Parameters (charset) in Numerische Zeichenreferenzen. Allerdings wäre es vielleicht jetzt ein guter Anlass, alles komplett auf UTF-8 umzustellen.
echo "$verabschiedung $name";