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]
