dedlfix: Komische Zeichen beim ersten Seitenladen

Beitrag lesen

echo $begrüßung;

Beim Umstellen von UTF-8 mit BOM auf UTF-8 ohne BOM und anschliessendem Abspeichern wurden einige diakritische Zeichen, auch die deutschen Umlaute in solche Zeichenpaare umkodiert.
Wäre nicht weiter schlimm, aber im Browser werden nicht alle Substitute korrekt angezeit, sonder als Buchstabensalat.
Habe dass jetzt zwar per S&R behoben, aber warum passierte das, ich habe ja nur die BOM rausgenommen?

Da spielte wohl auch noch eine andere Kodierung eine Rolle. Bist du sicher, dass der Text beim ersten Einlesen gemäß UTF-8 dekodiert wurde? Davon kann man mit ausreichender Wahrscheinlichkeit ausgehen, wenn der Editor die BOM erkannt hat und entsprechend handelte. Bist du auch sicher, dass der Text nun immer noch als UTF-8 erkannt wird? Nach Entfernen der BOM fehlt nun einer verarbeitenden Stelle das Indiz auf UTF-8-kodierten Text. Vielleicht hat der Editor daraufhin gedacht, nun kommt ISO-8859-1 (oder was Kompatibles, was wohl der Defaulteinstellung des Systems entspricht) angelaufen und sich so verhalten. Wie ich ja schon sagte, gibt es keine funktionierende Methode, die Kodierung einer Datei anhand ihres Inhalts zweifelsfrei zu erkennen. Deswegen fügt man ja in HTML-Dateien und/oder im HTTP-Header eine charset-Angabe ein, damit der Browser weiß, was er da bekommt.

Am besten arbeitet es sich mit einem Editor oder auch einer IDE, der/die sich für ein Projekt generell auf eine bestimmte Zeichenkodierung voreinstellen lässt. Alle Dateien sollten dann daraufhin beim Öffnen gemäß dieser Kodierung interpretiert werden und beim Speichern entsprechend behandelt werden (falls nicht noch dateiindividuelle Einstellungen getroffen wurden).

echo "$verabschiedung $name";