Ios URLWithString的问题:当字符串包含阿拉伯字符时

Ios URLWithString的问题:当字符串包含阿拉伯字符时,ios,nsurl,Ios,Nsurl,当路径包含阿拉伯字符时,我的代码有问题。在这种情况下,URLWithString始终返回nil NSString *path = self.currentlySelectedBlogItem.linkUrl; NSURL *url = [NSURL URLWithString:path]; [[UIApplication sharedApplication] openURL:url]; 有什么建议吗?您必须对特殊字符使用UTF8编码: NSString *path = self.current

当路径包含阿拉伯字符时,我的代码有问题。在这种情况下,URLWithString始终返回nil

NSString *path = self.currentlySelectedBlogItem.linkUrl;
NSURL *url = [NSURL URLWithString:path];
[[UIApplication sharedApplication] openURL:url];

有什么建议吗?

您必须对特殊字符使用UTF8编码:

NSString *path = self.currentlySelectedBlogItem.linkUrl;

NSString *encodedPath = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:encodedPath];

[[UIApplication sharedApplication] openURL:url];

解决方案很简单:NSURL*url=[NSURL URLWithString:[path StringByAddingPercents EscapeSusingEncoding:NSUTF8StringEncoding];请不要将解决方案作为评论,而是将其作为答案,并将其标记为正确答案,这样看起来就不会像一个开放式问题。实际上,请使用谷歌而不是发布重复的问题。