0

我有一个动物列表和特殊按钮。当我按下按钮时,我想去维基百科阅读更多关于这种动物的信息。所以我写了这段代码:

-(IBAction)goWiki:(id)sender
{
    NSString *wikiUrl = "http://ru.wikipedia.org/wiki/";
    NSString *url = [NSString stringWithFormat:@"%@%@",wikiUrl,animalTitle];  
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
    NSLog(@"%@",url);
}

NSLog表明 url 写入正确,但是,什么也没发生。我有 99.9% 的把握是因为animalTitle. 我的母语是俄语,animalTitle也是俄语中的动物名称。因此,如果链接像http://ru.wikipedia.org/wiki/Frog它很好并且可以工作,但如果它像 http://ru.wikipedia.org/wiki/Лягушка什么都不会发生。有什么想法,我怎样才能转到俄语文章?谢谢!

4

2 回答 2

3

使用stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding 如下 -

-(IBAction)goWiki:(id)sender
{
    NSString *wikiUrl = @"http://ru.wikipedia.org/wiki/";
    NSString *url = [NSString stringWithFormat:@"%@%@",wikiUrl,animalTitle];  


    url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
    NSLog(@"%@",url);
}
于 2012-02-19T18:39:04.000 回答
1

animalTitle首先尝试通过 CFURLCreateStringByAddingPercentEscapes传递字符串。

于 2012-02-19T18:26:10.730 回答