NSURL with special characters

后端 未结 3 693
礼貌的吻别
礼貌的吻别 2021-01-18 01:30

How can I encode this url to be displayed in a UIWebview:

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

I tried:

-stringByAddingPer         


        
相关标签:
3条回答
  • 2021-01-18 02:02

    Encode just the search part of the URL string:

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

    (Note as well that NSUTF8StringEncoding is the encoding used.)

    0 讨论(0)
  • 2021-01-18 02:05

    Just use below sample code;

    
    NSString *urlstring = [NSString stringWithFormat:@"http://de.wikipedia.org/?search=%@", searchString];
    NSString *encodedString = [urlstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL *url = [NSURL URLWithString:encodedString];
    
    0 讨论(0)
  • 2021-01-18 02:12

    I found also that for some North European characters, NSISOLatin1StringEncoding fits better. This one gives me a better result

    - (void) testEncoding {
        NSString * urlString = @"http://example/path/fileName_blå.pdf";
        urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding];
        NSURL * url = [NSURL URLWithString:urlString];
        NSLog(@"URL: %@", url);
    }
    
    0 讨论(0)
提交回复
热议问题