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.
--
David Duncan

_______________________________________________

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