echo $begrüßung;
echo utf8_decode(file_get_contents('keywords.inc.php'));
Das Ergebnis ist immer noch dasselbe ...
Das sieht mir recht verkorkst aus. Am Anfang ist eine BOM (Byte Order Mark) zu sehen, aber von den Umlauten ist jede Kodierung verlorengegangen.
Wenn ich mir die keywords.inc.php direkt ansehe, dann erhalte ich einen Text, den ich als ISO-8859-1 kodiert bezeichnen würde. Wenn man diesen als UTF-8 zu lesen und nach ISO-8859-1 umzuwandeln versucht geht das natürlich in die Hose.
Was mich jetzt noch interessiert: Wo kommt die BOM her? Durch das utf8_decode() kommt sie nicht rein. Steht sie vielleicht in der includetest.php vor dem echo... ?
Dein Server sendet übrigens keine Kodierungsangabe im HTTP-Header mit. Durch diese BOM versucht der Browser das Dokument als UTF-8 zu interpretieren. Und ob im weiteren Verlauf nun ISO-8859-1-kodierte oder verkorkste Umlaute gesendet werden spielt dann keine Rolle mehr. Beides liefert Datenmüll.
Der Ultraedit zeigt in der Statuszeile rechts neben der Cursorposition an, welche Kodierung gerade verwendet wird. DOS/UNIX ist das Zeilenende-Verhalten und das U oder U8 davor wäre dann ein Unicode/UTF-8-Modus. Über Datei->Konvertieren kann man einiges umstellen.
Meine Meinung: Wirf die BOM raus, stell alles auf ISO-8859-1 (UltraEdit: ASCII) um, wenn keine zwingenden Gründe für Unicode/UTF-8 vorliegen.
echo "$verabschiedung $name";