Yes, you are right, but it does not make a difference, I tried all encodings. 
This is a DBF file. From the DBF file format description the header is binary 
and the rest is ASCII.

I found an older post from someone with French special chars that went lost:
http://stackoverflow.com/questions/4913499/utf8-character-decoding-in-objective-c

But the solution suggested there doesn't work:
NSString *correctString = [NSString stringWithCString:[utf8String 
cStringUsingEncoding:NSISOLatin1StringEncoding] encoding:NSUTF8StringEncoding];
I know the content of the DBF file. I don't want to write a DBF parser, I only 
want to read this specific file and it does correctly read all fields and 
lines, but the Umlaute are still lost. It does work correctly on the Windows 
side using the browser app for that particular database.

The reason I used the percent-lines was to see what happens to the Umlaute, and 
inspecting them inbetween changing to and from percent escaped strings they 
seem to be handled correctly.

Alex

Am 22.12.2011 um 02:18 schrieb Ben Kennedy:

> On 21 Dec 2011, at 4:45 pm, Alexander Reichstadt wrote:
> 
>>      NSString *theContent = [[NSString alloc] initWithData:theData 
>> encoding:NSASCIIStringEncoding];
>>       theContent = [[theContent componentsSeparatedByString:@"\r"] 
>> objectAtIndex:1]; 
>>       theContent = [theContent 
>> stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
>>       theContent = [theContent 
>> stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
> 
> Is this really your code?  What is the purpose of the latter two lines?  They 
> are completely reciprocal (i.e. redundant).
> 
>> I can even see it handles everything correctly in NSLog, first I see the 
>> unicode for an Umlaut, then it converts it to the correct percent value, 
>> like like รถ to 94, but when the final NSString is printed to an NSControl, 
>> the Umlaute are missing or garbled.
>> 
>> The original file is ascii-encoded.
> 
> Impossible.  ASCII does not represent any characters with diacritical marks.  
> Perhaps the original file is ISO-Latin-1 encoded.  You could try using 
> NSISOLatin1StringEncoding.
> 
> b
> 
> --
> Ben Kennedy, chief magician
> Zygoat Creative Technical Services
> http://www.zygoat.ca
> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to