Vinzenz Mai: Komische Zeichen beim ersten Seitenladen

Beitrag lesen

Hallo Thomas,

ich habe mir Notepad++ installiert, sehe aber im Quellcode kein BOM, aber im Menü, dass die Datei UTF-8 kodiert ist.

das ist ja auch richtig. Wenn Du eine Datei mit BOM editierst, dann willst Du
nur den Inhalt editieren, nicht jedoch (versehentlich) die Byte Order Mark verändern, dafür ...

Soll ich hier einfach auf "UTF-8 ohne BOM" umstellen und neu speichern?

Ja. Mache einen einfachen Test:

Erstelle eine neue Datei: test.txt
Als Inhalt gebe einfach nur das Wort "Test" ein, ohne Zeilenende.
Speichere in notepad++ als UTF-8, Du wirst feststellen, dass die Datei 7 Byte
groß ist. Neben den vier Byte für das Wörtchen Test werden die drei Byte für
die BOM benötigt.
Speichere nun als "UTF-8 ohne BOM", die Dateigröße verringert sich auf vier
Byte, weil die BOM entfernt wird.

Klappt das auch, wenn ich, wie du sagst, mehrere BOMs drin habe in der Datei?
Wie kamen die überhaupt da rein?

Wie Martin schon anmerkte, meinte ich nicht, Du hättest in einer Datei mehrere
BOMs. Die diversen Includes bringen ihre BOM auch mit :-)

P.S.: Bitte entschuldige die lästige Fragerei, ist ganz neue Materie für mich und du bist der Erste, der mir da etwas Licht bringen kann :D

Ich find's auch nicht lästig. Du fragst interessiert, Du willst etwas lernen, Du gibst Rückmeldung - das ist das, was Leute die hier öfter auftauchen (so wie ich), zu schätzen wissen.

BOMs werden (bei Verwendung von derzeitigem PHP) spätestens dann lästig, wenn Du eigene Header verschicken willst, z.B. eine Weiterleitung - und Du die allseits beliebte Fehlermeldung erhältst, dass das nicht mehr ginge "header already sent in Line xyz ...", obwohl Du ganz bewußt noch keine Ausgabe vorgenommen hast. Naja, eine oder mehrere BOMs wurden bereits ausgegeben - also sah sich PHP in der Pflicht, die üblichen Standardheader zu verschicken und Dir eine Fehlermeldung aufzutischen ...

Freundliche Grüße

Vinzenz