Eine von mir erzeugte UTF-Datei hat die Kennungen $EF $BB $BF und wird somit
korrekt als UTF-8 kodiert erkannt.
Ich habe zu Testzwecken verschiedene GEDCOM-Dateien zugeschickt bekommen,
u.a. auch vermeintlich UTF-8 kodierte.
Kann es sein, dass beim Verschicken per eMail bzw. Abspeichern der Anlage
die UTF-Kennung verloren gehen kann?
Die vermeintlich UTF-8 kodierte Datei hat nach dem Erhalt die Kennungen $30
$20 $48.
Eine von mir erzeugte UTF-Datei hat die Kennungen $EF $BB $BF und wird somit
korrekt als UTF-8 kodiert erkannt.
Diese Kennung ist wohl korrekt.
Ich habe zu Testzwecken verschiedene GEDCOM-Dateien zugeschickt bekommen,
u.a. auch vermeintlich UTF-8 kodierte.
Woran hast Du erkannt, dass die Datei UTF-8 kodiert ist? Am CHAR oder sind in den Records die Daten tatsächlich UTF-8 kodiert?
Die vermeintlich UTF-8 kodierte Datei hat nach dem Erhalt die Kennungen $30
$20 $48.
Hier fehlt anscheinden die UTF-8 Datei-Kennung (Byte Order Mark, BOM). Es gibt Programme, die eine Gedcomdatei erst mal nur als ASCII einlesen und als erste Zeile "0 HEAD" erwarten. Die Zeichen $30 $20 $48 entsprechen "0 H", also den ersten drei Zeichen der Headerzeile.
Es gib also durchaus Dateien mit UTF-8 Dateien, die keine zusätzliche Kennzeichnug haben. Generell auch nicht unbedingt falsch. Jedoch können bis zur Zeile mit CHAR auch noch Daten auftauchen, die mit ASCII nicht darstellbar sind.
Vor einiger Zeit wurde das Tema unter diversen Programmierern diskutiert und man hat sich folgendermaßen geeinigt:
BOM beim Export
Das Byte Order Mark (BOM) muss bei den Kodierungen UTF-8 und UNICODE (USC-2 und UTF-16) ausgegeben werden.
hab die Dateien mittlerweile gezippt erhalten, auch da fangen alle Dateien
(ANSI/ANSEL/ASCII/UTF-8) mit $30 $20 $48 an, BK scheint da keine Kennung zu
schreiben.
Aussage des Absenders und CHAR steht auf UTF-8. Ich lasse mir die Daten
nochmals gezippt schicken, mal sehen, ob es darin korrekt ist.
Kannst Du sicher sparen.
Wäre nett, wenn Du herausfinden könntest, welches Programm die Dateien
erzeugt hat und den Hersteller darauf hinweisen würdest.
0 HEAD
1 SOUR BROSKEEP
2 VERS 6.4.11 WINDOWS
1 DEST BROSKEEP (BROTHERS KEEPER)
1 DATE 26 SEP 2010
1 CHAR UTF-8
Brothers Keeper ist kein deutesch Programm, darum nicht an der Diskusion beteiligt gewesen. Generell ist es durchaus korrekt, eine Gedcomdatei mit UTF-8 Kodierung ohne BOM zu erzeugen. Damit sollten die Programme zurecht kommen.
Um es zu vereinfachen, hatten wir uns dafür ausgesprochen, unseren Export zu vereinheitlichen.