BOM auf der Shell suchen und entfernen

Wer kennt es nicht das Problem – Aus heiterem Himmel taucht auf einmal das seltsame Zeichen auf der Seite auf – und niemand weiss woher es kommt.

Schuld ist in der Regel die ANSI Dateikodierung in einer UTF8 Umgebung.

Hat man Shell Zugriff auf den Server, auf dem die Dateien liegen, so hat kann ich Euch die folgenden Methoden ans Herz legen.

Zeige alle Dateien im aktuellen Verzeichnis, die ein BOM (Byteordermark) enthalten
(Punkt hinter dem Befehl steht für das aktuelle Verzeichnis)

grep -rl $'\xEF\xBB\xBF' .

Suche alle PHP Dateien im aktuellen Verzeichnis die das BOM enthalten, erstelle ein Backup der Datei und lösche das BOM aus der original Datei.

find . -type f -name '*.php' -exec sed 's/^\xEF\xBB\xBF//' -i.backup {} \;

Lösche alle backup Dateien

find . -type f -name '*.backup' -exec rm {} \;
Dieser Beitrag wurde unter Linux abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.