NSURL with special characters

How can I encode this url to display in a UIWebview:

http://de.wikipedia.org/?search=Bevölkerungsentwicklung

I tried:

-stringByAddingPercentEscapesUsingEncoding:NSUnicodeStringEncoding -stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding 

and

 CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)mobileUrl, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); 

thank

Joerg

+7
objective-c iphone ipad
Nov 10 2018-10-10
source share
3 answers

Encode only part of the search string URL:

 // searchString is the unescaped search string, eg, "Bevölkerungsentwicklung" NSString *encodedSearchString = [searchString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *urlString = [NSString stringWithFormat:@"http://de.wikipedia.org/?search=%@", encodedSearchString]; NSURL *url = [NSURL URLWithString:urlString]; 

(Note also that NSUTF8StringEncoding is the encoding used.)

+7
Nov 10 2018-10-10
source share

Just use the sample code below;

 NSString *urlstring = [NSString stringWithFormat:@"http://de.wikipedia.org/?search=%@", searchString]; NSString *encodedString = [urlstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:encodedString]; 
+2
Nov 10 '10 at 16:23
source share

I also found that for some Northern European characters, NSISOLatin1StringEncoding works better. It gives me the best result.

 - (void) testEncoding { NSString * urlString = @"http://example/path/fileName_blå.pdf"; urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; NSURL * url = [NSURL URLWithString:urlString]; NSLog(@"URL: %@", url); } 
+1
Apr 14 '13 at 19:15
source share



All Articles