unsichtbare Zeichen editor

CED999

Lieutenant
Registriert
Juni 2011
Beiträge
950
Hallo Leute,

ich habe folgendes Problem. Ich importiere seit einiger Zeit große csvs (8-9 Mio. Zeilen) in eine spezielle Software zur Datenauswertung. Heute hatte ich nun das Problem, dass der erste Datensatz der csv auch nach x Importversuchen nicht angezeigt wurde. Bei meinem vielleicht 5 Versuch zeigte mir die Datenauswertungssoftware im Importdialog folgendes Bild:

merkwuerdigesZeichen.PNG

im Editor (Notepad++/Notepad) ist davon nichts zu sehen.

Mit was die Daten in Kontakt kommen ist etwas unterschiedlich eine Vorberarbeitung findet meist in Access oder Excel statt, dann wird abundzu mit Notepad++/Notepad was nachgeschaut, ein Programm namens csvsplitter wird auch abundzu verwendet um die Datein aufzusplitten/handhabarer zu machen. Dann ist auch schon der Datenimport angesagt.

Ich bin Nicht-Programmierer und weiß jetzt nicht genau wie ich das Problem angehen soll/lösen kann. Es ist auch schon vorgekommen, dass in csvs die schon (erstamal) problemlos importiert waren auf einmal am Ende von den csvs eine halbe Seite "Hieroglyphen" waren.

Edit: Das Datenauswertungsprogramm, in das die csvs importiert werden hat unter "Datenherkunft" Windows (ANSI) und DOS (ASCII) zur Auswahl, ich habe bisher immer den Defaultwert eingestellt gelassen (ANSI)..
 
Zuletzt bearbeitet:
Das wird die BOM bei UTF-8 codierten Dateien sein. In Notepad++ kannst du das in Encoding -> Encode in UTF-8 without BOM ändern.
 
Ich habe das jetzt mal in Notepad++ angeschaut also die Codierung der Datei nachdem sie aus dem Splitter kam (das ist ein Schritt vor Import in das Auswertungsprogramm) war UTF-8. Dazu das auszuprobieren ob das läuft wenn ich das BOM weglasse werde ich erst morgen kommen.

Was mich jetzt aber noch interessieren würde sind verschiedene Dinge zu dem ganzen Thema:

  1. Das Datenauswertungsprogramm bietet wie schon gesagt die Einstellungen Windows (ANSI) oder DOS ASCII als Importformate an. Was ist denn jetzt mal prinzipiell gesprochen "näher dran" wenn die Ursprungsdatei UTF-8 ist, ANSI oder ASCII?
  2. In Notepad++ habe ich die Möglichkeit in UTF-8 ohne BOM oder ANSI zu konvertieren. Was wäre jetzt prinzipiell besser, gleich ANSI um alles 100% identisch zu machen? oder gibt es dann wieder neue Fehlerquellen und UTF-8 ohne BOM wäre doch die bessere Wahl?
  3. Wie genau kann ich den Zeichensatz einer Datei herausfinden die zu groß ist um sie in Notepad++ zu öffnen?

Danke euch ihr habt schon etwas weitergebracht.
@Yuuri: Thx das klingt schon mal super :daumen:
 
1. Nichts ist näher dran, da UTF-8 ein Multibyte Charset ist. ASCII und ANSI belegen dabei jeweils ein einziges Byte.
2. Das kommt auf die Daten an. Wenn keine Umlaute o.ä. enthalten sind, reicht ASCII vollkommen aus.
3. Sieh dir die Daten im Hex-Editor an und guck nach, wie viel Byte etwaige Zeichen belegen bzw. guck nach, was beim Import für etwaige Grütze raus kommt. Ein direktes Charset Merkmal gibts nicht. Ab UTF-16 sollte das BOM enthalten sein, das kann es aber auch bei UTF-8 oder auch nicht. Genauso kann diese Datei dann auch nur im ASCII Charset geschrieben worden sein. Einen richtigen Indikator gibts dafür nicht.

Probieren geht über studieren, allerdings solltest du den Zeichensatz kennen, mit dem du exportierst.
 
2. Na Eine von beiden Konvertierungsoptiinen in Notepad++ muss ich nehmen also entweder UTF-8 ohne BOM oder ANSI. Und in der Datenauswertungssoftware muss ich auch was nehmen entweder Windows Ansi oder Dos ASCII. Welche Kombo würdest du mir raten? Die Daten sind sehr einfach (siehe bild) das sind nur drei spalten Eine Datum mit Uhrzeit die anderen beiden nur Zahlen. Das wars.

3. Ich soll das erkennen - ich glaube nicht 😊 Ich meinte eher ein Tool dass große csvs öffnen kann und mir dann sagt welches Charset das ist. Wie Notepad++ nur eben für große csvs...
 
CED999 schrieb:
Die Daten sind sehr einfach (siehe bild) das sind nur drei spalten Eine Datum mit Uhrzeit die anderen beiden nur Zahlen. Das wars.
Dann spielt es, wie Yuuri schon angemerkt hat, keine Rolle. Diese Daten werden in den genannten Formaten identisch gespeichert.

Wenn du es "richtig" machen willst, konvertiere nach ANSI und importiere mit ANSI.
 
Zurück
Oben