Sometimes if you wish to encode a whole URL including /,&,: , [NSString stringByAddingPercentEscapes:]
fails, to solve this issue, use CFURLCreateStringByAddingPercentEscapes
+ (NSString*)urlEncode: (NSString*) url { NSString* encoded = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)url, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8); return [encoded autorelease]; }