[PSPad] BOM aus UTF-8-Dokumenten entfernen
Wenn man die Byte Order Mark (kurz BOM) aus einem Dokument entfernen will, kann man das am besten mit PSPad erledigen.
Warum sollte ich die BOM entfernen?
Falls man in einer PHP-Datei Header-Befehle wie session_start() verwendet, darf vor dem Header keine Ausgabe erfolgen. Wenn dies doch geschieht, bekommt man die Meldung Warning: Cannot modify header information – headers already sent by XYZ
, weil die Byte Order Mark ja vor dem öffnenden PHP-Tag steht!
BOM erkennen
Als erstes öffnet man das betreffende Dokument (z.B. eine PHP-Datei) mit dem PSPad Hex-Editor.
Dann sieht man so etwas auf dem Bildschirm:
Wenn die ersten 4 Zeichen FFFE oder FFEF lauten, ist eine BOM vorhanden!
BOM entfernen
Dazu brauchen wir wieder den normalen PSPad-Editor und nicht den HEX-Editor!
Um das Ding zu entfernen, klickt man einfach auf Format und dann auf UTF8 (auch wenn da schon ein Häkchen sein sollte):
Danach STRG + S drücken und die Datei hat keine Byte Order Mark mehr.
[…] [PSPad] BOM aus UTF-8-Dokumenten entfernen (94) […]
Das stimmt nicht.
WAS stimmt nicht, du Klugscheißer?
[…] [PSPad] BOM aus UTF-8-Dokumenten entfernen (357) […]
wenn ich zurück in die hexansicht gehe ist das BOM mit FFFE aber wieder vertreten … stimmt also nicht ganz der artikel hier oder ist unvollständig.
Hmm, dann hast du vllt. das Speichern vergessen? Also bei mir ging es so immer
Kann ich bestätigen Projekt Kodierung auf UTF-8 und Save (weder Overwrite noch Save as) entfernt BOM
benutze PSPAD Version: 4.5.3
Bei nachträglichen Hex steht nach wie vor:EFBB BF
Nachtrag:
Es geht nur bei dir da du in
Programm einstellen… –> Programm verhalten die Option [_] Indent.Bytes bei UTF-8 hinzufügen deaktiviert hast
(Habe die Option gerade gefunden)
Das ist also die Lösung für PSPad/PHP
(Wobei das eigentlich keine Lösung ist sondern ne Schande für das Zend Team)
Danke für den Hinweis!