NSASCIIStringEncoding breaks July 31, 2009
Posted by Ameya in iPhone.Tags: iPhone, NSASCIIStringEncoding, NSASCIIStringEncoding breaks, NSASCIIStringEncoding returns null, Tutorial
trackback
It is possible that [subject stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding], may return null, if subject contains ASCII charter out side 0 to 127.
NSString *mailString = [NSString stringWithFormat:@"mailto
to=%@&subject=%@&body=%@",
[to stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],
[subject stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],
[body stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailString]];
To stop this we can use an simple filter like.
-(NSString *)replaceLatin
NSString *)string{
return [[[[[[[[[[[[string stringByReplacingOccurrencesOfString:@"–" withString:@""] stringByReplacingOccurrencesOfString:@”—” withString:@”"] stringByReplacingOccurrencesOfString:@”¡” withString:@”"] stringByReplacingOccurrencesOfString:@”¿” withString:@”"] stringByReplacingOccurrencesOfString:@””” withString:@”"] stringByReplacingOccurrencesOfString:@”“” withString:@”"] stringByReplacingOccurrencesOfString:@”\”" withString:@”"] stringByReplacingOccurrencesOfString:@”‘” withString:@”"] stringByReplacingOccurrencesOfString:@”’” withString:@”"] stringByReplacingOccurrencesOfString:@”‘” withString:@”"] stringByReplacingOccurrencesOfString:@”«” withString:@”"] stringByReplacingOccurrencesOfString:@”»” withString:@”"];
}
Excellent site, keep up the good work