echo $begrüßung;
z.B. schreibt er mir statt ü das Ziechen: ü
Was habe ich bei der Erstellung falsch gemacht und was muss ich ändern das die Zeicher ordentlich dargestellt werden?
Grundlegendes Verständnis erlangen, wie Zeichen im Allgemeinen im Computer repräsentiert werden, und im Speziellen wie man dem Empfänger mitteilt, welche Kodierung man verwendet hat und wie man seinen verarbeitenden Programmen beibringt, ebendiese Kodierung zu verwenden.
Das erste ist in den ersten drei Unterkapiteln des SELFHTML-Kapitels Internationalisierung beschrieben. Fangen wir hier damit an, dass du dich für UTF-8 entschieden hast. Eine gute Wahl, vorausgesetzt, alle Beteiligten können damit umgehen. Die Browser sind dabei nicht das Problem. Denen (bzw. allgemein gesagt: jedem Empfänger irgendwelcher Daten) muss man nur sagen, dass sie UTF-8-kodierte Daten vorgesetzt bekommen. Das geschieht (für HTTP/HTML) über die charset-Angabe des HTTP-Headers Content-Type. Den muss man im Server konfigurieren. Überprüfen kann man den (und alle anderen Header) mit Tools wie livehttpheaders für Firefox. Ist keine charset-Angabe vorhanden, darf der Browser als Ersatz die Angabe aus dem gleichnamigen Meta-Element verwenden. Nun musst du nur noch deinen Werkzeugen beibringen, dass sie die Daten in UTF-8-Kodierung speichern, und das am besten ohne BOM.
Natürlich kann man auch für alle Zeichen die HTML-Ersatz-Darstellung Entitys ü (so definiert) und nummerische Zeichenreferenzen ü verwenden. Das kann zwar jeder Browser unabhängig von einer Kodierungsangabe richtig deuten, weil dafür nur Zeichen aus dem ASCII-Vorrat verwendet werden, bläht aber den Quelltext unnötig auf und leserlicher wird er durch diese Umschreibungen auch nicht.
echo "$verabschiedung $name";