2011-04-04 120 views
1

當我的代碼包含阿拉伯字符時,我遇到了問題。在這種情況下,URLWithString總是返回nil。URLWithString有問題:當字符串包含阿拉伯字符

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

任何消耗?

+0

解決方法很簡單: NSURL * URL = [NSURL URLWithString:[路徑stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; – iPera 2011-04-04 14:31:47

+0

而不是將解決方案作爲評論,請將其作爲答案並將其標記爲正確答案,以免它看起來像一個未解決的問題。 – DBD 2012-08-22 17:00:02

+0

其實只是使用谷歌,而不是張貼重複的問題,請。 – 2014-06-07 14:13:48

回答

2

你必須使用UTF8編碼特殊字符:

NSString *path = self.currentlySelectedBlogItem.linkUrl; 

NSString *encodedPath = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSURL *url = [NSURL URLWithString:encodedPath]; 

[[UIApplication sharedApplication] openURL:url];