Rob Rob - 13 days ago 6
Objective-C Question

NSString : easy way to remove UTF-8 accents from a string?

I want to change a sentence, for example :

Être ou ne pas être. C'était là-bas.

Would become :

Etre ou ne pas etre. C'etait la-bas.

Is there any easy way to do this with NSString ? Or do I have to develop this on my own by checking each char ?

Thanks a lot.

NSString *str = @"Être ou ne pas être. C'était là-bas.";
NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"%@", newStr);

... or try using NSUTF8StringEncoding instead.

List of encoding types here:

Just FTR here's a one line way to write this great answer:

yourString = [[NSString alloc]
    [yourString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]