Was ist ein BOM – und warum stört es manchmal bei CSV-Dateien?

Wenn Sie CSV-Dateien mit Excel, LibreOffice oder anderen Tools exportieren, kann es vorkommen, dass die Datei mit sogenannten BOM-Zeichen beginnt. BOM steht für Byte Order Mark – eine spezielle Zeichenfolge am Anfang einer Textdatei, die angibt, in welchem Format die Datei gespeichert ist (z. B. UTF-8).

🔍 Woran erkennt man eine BOM?

Technisch ist eine BOM bei UTF-8 ein unsichtbares Zeichen bestehend aus drei Bytes:

EF BB BF

Es steht ganz am Anfang der Datei, noch vor der ersten sichtbaren Überschrift oder dem ersten Datensatz.

⚠️ Warum kann BOM ein Problem sein?

Einige Anwendungen, insbesondere Import-Skripte, Webanwendungen oder Datenbankschnittstellen, interpretieren diese zusätzlichen Zeichen als Teil der ersten Spalte. Das führt zu:

  • Problemen beim Datenimport

  • nicht erkannten Überschriften

  • fehlerhaften Spaltennamen („Name“ statt „Name“)


✅ So erstellen Sie CSV-Dateien

ohne BOM

Je nach verwendetem Tool gibt es unterschiedliche Wege, BOM zu vermeiden:

🧮 In

Microsoft Excel

(Windows):

  1. Öffnen Sie Ihre Datei.

  2. Wählen Sie Datei > Speichern unter.

  3. Wählen Sie “CSV UTF-8 (durch Trennzeichen getrennt) (*.csv)”dieses Format fügt BOM hinzu.

  4. Alternative: Speichern Sie als “CSV (MS-DOS)”, oder nutzen Sie ein externes Tool wie Notepad++.

📝 In

Notepad++

:

  1. Öffnen Sie die CSV-Datei.

  2. Gehen Sie zu Kodierung > UTF-8 ohne BOM.

  3. Dann Datei > Speichern.

🐘 In

PHP

:

Wenn Sie CSVs programmatisch erzeugen:

// NICHT schreiben:
fwrite($fh, "\xEF\xBB\xBF"); // Das wäre BOM!

// Einfach nur:
fputcsv($fh, $data); // Kein BOM wird geschrieben

🐍 In

Python

:

# Mit BOM
open("file.csv", "w", encoding="utf-8-sig")

# Ohne BOM
open("file.csv", "w", encoding="utf-8")

💡 Fazit

Ein BOM ist grundsätzlich nicht „falsch“ – aber in bestimmten Kontexten hinderlich.

Wenn Sie regelmäßig CSV-Dateien für den Import in Webanwendungen oder CRM-Systeme erzeugen, achten Sie darauf, dass kein BOM enthalten ist – das erspart oft mühsame Fehlersuche.