dedlfix: Problem teilweise gelöst ...

Beitrag lesen

echo $begrüßung;

so, jetzt habe ich meine beiden Files mit Dreamweaver neu abgespeichert - und siehe da, jetzt ist anscheinend alles in Ordnung. UltraEdit bzw. dessen Einstellungen war wohl die Ursache - wer hätte das gedacht?

Der Ultraedit bringt es auch. Man kann da auf Hex-Darstellung umschalten, wobei man allerdings die UTF-8-BOM nicht sieht, da der UE intern mit 16 Bit pro Zeichen arbeitet und die BOM umwandelt.

Jetzt ist also der Fehler im Prinzip beseitigt und damit kann ich jetzt erst mal beruhigt schlafen gehen ...

Nicht wirklich. Der Server sendet immer noch keine Zeichensatzangabe und die BOM ist noch da. Nimm dir mal einen Firefox und installier da mal die LiveHTTPHeaders-Extension. Du kannst damit über das Kontext-Menü "Seiteninformationen anzeigen" lassen. Unter "Allgemein" findest du die Kodierung, die der FF grad verwendet. Unter "Header" findest du die "Antwort Header". Hinter "Content-Type" steht "text/html" jedoch ohne nachfolgende Kodierungsangabe. Mit Kodierungsangabe sähe das denn so aus: "text/html; charset=UTF-8". Die BOM kannst du erkennen, wenn du http://www.prinzhamlet.de/includetest.php aufrufst und über "Ansicht" -> "Zeichenkodierung" einmal "Westlich (ISO-8859-1)" einstellst. Du siehst dann am Anfang diese drei Zeichen "". Das ist die BOM. (Du siehst dann auch gleich noch, wie einige UTF-8-kodierte Umlaute aussehen, wenn man sie sich in ISO-8859-1 ansieht.)

Dennoch würde ich gerne wissen, woran die falsche Ausgabe gelegen hat - aus "akademischem" Interesse und vor allem damit ich in Zukunft keine Probleme mehr bekomme.

Wenn ich jetzt die Inhalte des includetest.php-Files mit UltraEdit neu abspeichere, habe ich wieder den Effekt, daß nicht includierte Zeichen richtig und includierte falsch ausgegeben werden. Woran kann das liegen?

Was wird denn in der Statuszeile angezeigt? U8-DOS oder U-DOS oder DOS oder ...? Beim "Speichern unter" im UE kannst du einstellen, welches "Format" verwendet werden soll.
Der Notepad ist im übrigen auch unicodefähig. Du siehst dort die BOM ebenfalls nicht. Im Notepad kann man auch beim Speichern ein bestimmte Kodierung angeben. Die BOM fügt er automatisch ein. Kleiner Test gefällig? Erstelle eine Datei und schreibe z.B. 5 Zeichen rein, ohne Umlaute und Zeilenumbruch. Speichere unter UTF-8 ab und schau im Explorer die Dateigröße an. Die dürfte nun 8 Bytes betragen.

echo "$verabschiedung $name";