Tutorial: Immer diese unsichtbaren Steuerzeichen in Datenfeeds!

Wie Sie Steuerzeichen in Datenfeeds identifizieren und entfernen

Tutorial: Immer diese unsichtbaren Steuerzeichen in Datenfeeds!

Ein Datenfeed enthält strukturierte Informationen, oft in Form von Zeilen und Spalten, die zwischen Systemen automatisiert übertragen werden. Häufig handelt es sich um Produktdaten für Suchmaschinen-Dienste wie Google Shopping, Adwords oder Affiliate-Programme. Der große Vorteil von Datenfeeds liegt darin, dass durch diese Technik auch eine Übertragung von größeren Datenbeständen möglich ist. Allerdings schleichen sich in den Datenfeed auch immer wieder blinde Passagiere ein, die verschiedene Probleme auslösen können: Steuerzeichen! Sie landen aus unterschiedlichsten Gründen in unseren Datenfeeds und bleiben dort auch so lange unerkannt, bis man sie mit einem technischen Hilfsmittel (z.B. einem HEX-Editor) sichtbar macht. Zum Beispiel ist die sogenannte BOM (Byte-Order-Mark) ein solches Steuerzeichen, das Probleme beim Einlesen oder Verarbeiten macht - d.h. Sie sollten diese unsichtbaren Zeichen identifizieren und entfernen. Das ist nicht immer einfach, da man diese Zeichen eben nicht sehen kann.

So entstehen unerwünschte Steuerzeichen

Für die Entstehung von Steuerzeichen im Datenfeed gibt es unterschiedliche Gründe. Eine häufige Ursache sind externe Quellen. Werden die Daten von beispielsweise Lieferanten übermittelt oder per Copy&Paste aus einer Word- oder Excel-Datei in die eigenen Systeme übertragen, können beim Kopieren über die Zwischenablage unsichtbare Zeichen übernommen werden. Unsichtbar deswegen, weil sie nach dem Einfügen vom Browser nicht dargestellt werden. Es scheint demnach so, als wären keine weiteren Zeichen übertragen worden. Sucht der Betrachter nicht explizit nach diesen, bleiben sie unerkannt und können unter anderem für String-Vergleiche und Abgleiche zwischen Systemen sehr störend sein.

Häufig Probleme, die durch unsichtbare Steuerzeichen entstehen

Zu welchen Problemen Steuerzeichen im Datenfeed führen können, möchten wir an folgendem Beispiel erläutern.

Der Dateiname "meineproduktDatei.xls" wird in den Datenfeed per Copy&Paste aus einer externen Word-Datei eingefügt. Nun befindet sich jedoch am Anfang oder Ende ein unsichtbares Zeichen. Beim Download-Prozess wird nun versucht, eine Datei mit dem unsichtbaren Zeichen zu finden. Diese gibt es aber natürlich nicht, da nur eine Datei ohne dieses Zeichen im Dateiname existiert. Das Ergebnis ist eine Fehlermeldung und in der Regel ein vergebliches Suchen nach Lösungen für dieses Problem, da es nicht offensichtlich im Datenfeed zu erkennen ist.

Dieses Problem kann allerdings auch umgekehrt auftreten. Möglicherweise existiert nämlich eine Datei (Datenfeed), welche bereits unsichtbare Steuerzeichen enthält. Beispielsweise in der Artikelnummer. So könnte diese lauten: ABC[komischesZeichen]123. Beim Lesen der Datei wird uns aber lediglich ABC123 angezeigt. Sucht man nun über die Funktion "Strg+F" nach ABC123, findet man jedoch keinen Eintrag.

Neben Dateinamen und Artikelnummern können aber auch noch viele weitere Komponenten im Datenfeed betroffen sein. So zum Beispiel die Bestellnummer oder Kundennamen. In Summe führen Steuerzeichen daher zu einem großen Chaos an Fehlermeldungen, die zwar leicht zu beheben, jedoch schwer zu detektieren sind.

Steuerzeichen im Datenfeed entfernen

Sollten Sie derartige Probleme feststellen, empfiehlt es sich bei allen ID- bzw. Identifier-Felder wie Artikelnummern, Auftragsnummern, EANs usw. potentiell vorhandene Steuerzeichen über die sogenannte RegEx - Funktion zu entfernen. Wie genau das funktioniert, erfahren Sie in unserem Cookbook Wie entferne ich steuerzeichen wie borm-byte-order-mark aus werten?

Fazit

Steuerzeichen im Datenfeed stellen ein kniffliges Problem bei der Datenverarbeitung dar. Die Zeichen sind nämlich „unsichtbar", aber dennoch da. Insbesondere durch Copy&Paste Aktionen aus Word- oder Excel-Dateien gelangen diese versehentlich in unseren Datenfeed und sorgen dort für ordentlich Chaos.

Um dieses zu vermeiden, sollte man im Zweifel alle Daten von unsichtbaren Zeichen befreien, bevor man sie weiterverarbeitet. Möglich ist dies mit Hilfe von RegularExpressions in Kombination mit der “Suchen & Ersetzen Funktion” oder dem Freemarker Replace Skript. Diese können z.B. mit dem Mapper-Step auf Datenfeeds anwenden.

Mehr dazu in unserem Cookbook

Unser Whitepaper für Macher: No Code Integration & Automatisierung

Verwandte Beiträge


Aktualisiert am November 2, 2022
Chatten Sie mit uns