On Aug 24, 2011, at 11:14 AM, David Duncan wrote:

> On Aug 24, 2011, at 11:07 AM, Alexander Reichstadt wrote:
> 
>> we have a phenomenon, that is not quite clear. This is with 10.6.7 Xcode 4.0.
>> 
>>   NSArray *test = [NSArray arrayWithObject:@"ÜÄÖüäö"];
>>   NSLog(@"%@",test);
>>   NSLog(@"%@",[test objectAtIndex:0]);
>> 
>> This prints out the following:
>> 
>> 2011-08-24 20:03:19.129 PetWorkX[15717:903] (
>>   "\U00dc\U00c4\U00d6\U00fc\U00e4\U00f6"
>> )
>> 2011-08-24 20:03:19.129 PetWorkX[15717:903] ÜÄÖüäö
>> 
>> Reason to ask and problem to solve is, that the values with Umlauts are to 
>> be passed on to an SQL backend, and in some cases the umlauts are not 
>> forwarded correctly. Escaped they return no answer or, even worse, cause an 
>> SQL error and the sql connection to break. Also escaping the umlauts int he 
>> sql connection does not work.
>> 
>> So far we weren't able to fully figure out under which conditions the 
>> umlauts are passed on correctly and under what conditions they aren't.
> 
> 
> In this case since you are using a compiler literal, you are at the mercy of 
> what the compiler generates. It would seem that you are getting composed 
> characters in this case (your second NSLog should use %C not %@ btw). The 
> best I can figure is that your SQL backend is expecting decomposed characters 
> (which would represent this string as U<combining umlaut>A<combining umlaut> 
> etc). I would try -decomposedStringWithCanonicalMapping to obtain a new 
> string that has been decomposed and see if that works better.
> --

The second NSLog is fine; [test objectAtIndex:0] is the NSString in the 
NSArray, not the first char in the 
NSString._______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to