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):
-
Öffnen Sie Ihre Datei.
-
Wählen Sie Datei > Speichern unter.
-
Wählen Sie “CSV UTF-8 (durch Trennzeichen getrennt) (*.csv)” – dieses Format fügt BOM hinzu.
-
Alternative: Speichern Sie als “CSV (MS-DOS)”, oder nutzen Sie ein externes Tool wie Notepad++.
📝 In
Notepad++
:
-
Öffnen Sie die CSV-Datei.
-
Gehen Sie zu Kodierung > UTF-8 ohne BOM.
-
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.