Xcode openURL 无法读取链接

发布于 2025-01-06 21:49:05 字数 631 浏览 2 评论 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/Лягушка没有任何反应。 有什么想法吗,我怎样才能转到俄语文章? 谢谢!

I have an animal list and special button. When I press the button, I would like to go to Wikipedia and read about this animal more. So I wrote this code:

-(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 shows that url was written correctly, however, nothing happened. I am 99,9% sure its because of animalTitle. My native language is russian and animalTitle is also an animal name in russian.
So if link is like http://ru.wikipedia.org/wiki/Frog its fine and it works but if its like
http://ru.wikipedia.org/wiki/Лягушка nothing happens.
Any ideas, how can I move to a russian article?
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一笑百媚生 2025-01-13 21:49:05

使用 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);
}

use stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding as follows -

-(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);
}
好久不见√ 2025-01-13 21:49:05

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

Try passing the string animalTitle through CFURLCreateStringByAddingPercentEscapes first.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文