when i try to convert form utf-8 string to NSString like so:
NSString *s = [NSString stringWithUTF8String:"\U0627\U0644\U0641\U0631\U0646"];
NSLog(@"%@", s);
i get the compile error:
incomplete universal character name
note that it sometime just works fine:
NSString *UAE = [NSString stringWithUTF8String:"\U0627\U0644\U0641\U0631\U0646"];
NSLog(@"%@", UAE);
and the output:
الامارات
so why is that happening? please help.
incomplete universal character name means that you are missing part of one of the utf8 character that you are trying to write.
UTF8 spans from 1 byte symbols to 4 byte symbols, probably one of yours is longer that you wrote and you are missing 1 byte or such..
\U and \u are not the same thing. The \U escape expects 8 (hex) digits instead of 4.
This should work: