Unsere Branchen-Software ermöglicht es dem Benutzer, bestimmte Daten als CSV zu speichern . Da in der Natur viele verschiedene Formate (alle als "CSV" bezeichnet) verwendet werden, müssen wir uns entscheiden, wie das "Standardformat" aussehen soll.
In Bezug auf Linien- / Feldtrennzeichen und Flucht gibt es einen Standard, den wir verwenden können: RFC 4180 .
In Bezug auf die Textkodierung scheint UTF-8 im letzten Jahrzehnt als "Standard-Textdateiformat" aufgetaucht zu sein, daher werden wir dieses verwenden.
Die eine offene Frage lautet: Sollen wir zu Beginn eine Stückliste hinzufügen oder nicht? Ich habe verschiedene Meinungen und Vor- und Nachteile zur Verwendung von Stücklisten im Allgemeinen gelesen, aber gibt es eine "offizielle" Empfehlung oder zumindest eine Art von Community-Konsens zur Verwendung von Stücklisten in CSV-Dateien?
quelle
Antworten:
Nicht für UTF-8 , aber beachten Sie die verschiedenen Einschränkungen in den Kommentaren.
Dies ist im Gegensatz zu UTF-16/32 nicht erforderlich (UTF-8 hat keine Bytereihenfolge) und wird im Unicode-Standard nicht empfohlen . Es ist auch recht selten, dass UTF-8 mit Stücklisten "in the wild" angezeigt wird. Wenn Sie also keinen gültigen Grund haben (z. B. wie bereits erwähnt, arbeiten Sie mit Software, die die Stückliste erwartet), würde ich den Ansatz ohne Stücklisten empfehlen .
Wikipedia erwähnt hauptsächlich Microsoft-Software, die eine Stückliste erzwingt und erwartet. Verwenden Sie sie jedoch nicht, es sei denn, Sie arbeiten damit.
quelle
#!
ungültig. Bestenfalls ist eine Stückliste in UTF-8 "erlaubt, wenn keine format- / anwendungsspezifischen Anforderungen dies ausschließen", nicht "erlaubt" und sollte als solche nicht verwendet werden. Die Standards sind eigentlich klar über die sollte nicht.Es gibt immer noch keine weit verbreitete Konvention AFAIK, obwohl UTF-8 mittlerweile allgemein anerkannt ist.
Die Stückliste ist ein schreckliches Artefakt:
Es ist unsichtbar (Raum mit der Breite Null).
Einige Softwareprogramme brechen möglicherweise beim Namen der ersten Spalte ab, die nicht nur Buchstaben, sondern die seltsame Stückliste vor sich enthält.
Die Kopfzeile wird möglicherweise für Wertzeilen kopiert, die den ersten Wert beschädigen.
Es wird nur von einigen Windows-Programmen benötigt, um zwischen einer der von diesem lokalen Windows-Computer verwendeten ANSI-Codierungen und UTF-8 zu unterscheiden. Notizblock, Excel.
Das Traurige ist also, dass man die Stückliste unterstützen sollte. Möglicherweise optional.
Verwenden Sie ein Benennungsschema für die Dateien (...- utf8.txt, ...- utf8bom.txt).
In vielen Fällen könnten wir HTML als Exportalternative verwenden. Dies ermöglicht das Festlegen der Codierung in der Datei. Ein zusätzliches Feature ist die Hintergrund- / Vordergrundfärbung von Zeilen und Zellen. Das erhöht die Qualität des Exports.
quelle
-utf8-windows.csv
ist besser. Fast jeder weiß, was Windows im Kontext von Computern ist, aber weit weniger Benutzer wissen, was ein Byte Order Mark ist.tschüß
als Müll gemeldet,tschüß
obwohl sie geschrieben worden sein sollten. Bei vielen IT-Fehlern in StackOverflow geht es um Codierungen. Endbenutzer werden ebenfalls Probleme haben.