exporting umlauts?

Jun 28, 2009 at 7:49 PM

Whenever I try to export my family tree in gedcom format, all umlauts and other special characters in names get mangled.

Opening the files in several other programs, the characters are replaced with others.

Even when I reimport the ged file in family.show, they are simply omitted from the name. Also, several dates of birth an death are omitted seemingly randomly.

 

Is there a workaround for this, any way I can get my family tree out in gedcom?

Unfortunately I did not test the export beforehand. It is a quite large tree and it would be a lot of work to fix by hand.

Developer
Jun 29, 2009 at 9:51 AM
Edited Jun 29, 2009 at 9:53 AM

I haven't noticed problems with the characters but most of the names in my family don't have special characters so I wouldn't have seen it anyways.   I did notice the bug with dates of birth before and it's actually a very strange bug.  Currently, dates are exported in the format dd/mm/yyyy in the GEDCOM file.  When you import the dates, family.show tries to parse a date from the dd/mm/yyyy.  However for dates of birth it seems it cannot read the dd/mm/yyyy format yet it seems to work OK for other dates, randomally as you suggest.  It could be some confusion with the order of yy/mm.  In the US often dates are done mm/dd but the program may get confused between 12/01 and 01/12 which could be 12 Jan or 01 Dec.

The work around I used was to export dates in the format 01 DEC 2009 etc.  This solved the issue with dates not being imported for me.  Dates were also in this format in other GEDCOM files I had made using other software. 

 

I added this method to GedcomExport.cs:

        //converts month number to 3 letter month abbreviation as used in GEDCOM
private string GetMMM(int month)
{
string monthString = string.Empty;
if(month==1)
monthString ="Jan";
if(month==2)
monthString ="Feb";
if(month==3)
monthString ="Mar";
if(month==4)
monthString ="Apr";
if(month==5)
monthString ="May";
if(month==6)
monthString ="Jun";
if(month==7)
monthString ="Jul";
if(month==8)
monthString ="Aug";
if(month==9)
monthString ="Sep";
if(month==10)
monthString ="Oct";
if(month==11)
monthString ="Nov";
if(month==12)
monthString ="Dec";
return monthString;
}

 

and whereever there was a date:

 

            string day = date.Value.Day.ToString();
string year = date.Value.Year.ToString();
int month = date.Value.Month;

string monthString =string.Empty;

monthString = GetMMM(month);

string Date = day + " " +monthString+" "+year;

if (date.Value.ToShortDateString() != null)
WriteLine(2, "DATE", Date);

 

A bit long winded but hope that helps.

 

 

 

 

 

Coordinator
Jun 29, 2009 at 9:52 AM

Hi there, I'm out of the office for a couple of days. I'll be checking email but responses may be delayed slightly.

Best wishes,

Tim Sneath
Director | Client Platform Evangelism | Microsoft Corp.

Jun 29, 2009 at 9:19 PM

I address the exporting issues under Source Code | Patches.  That was my fix for version 2.0.  That part of the code hasn't changed in version 3.0.  I wish Vertigo would fix it permanently.  The stories and dates are still an issue.