2011-11-17 99 views
4

我嘗試在iOS應用程序中顯示帶有URL源的圖像,但不顯示。轉義在URL中使用的特殊字符(ø,æ)

圖片的網址是實時示例路徑。

當採用下面的Objective-C代碼轉義字符串:

NSString *url= [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)originalpath, NULL, CFSTR("øæ"), kCFStringEncodingUTF8) autorelease]; 

結果(用OAE的編碼):實時XML路徑

我的所有文件的網址是存儲使用文本編碼(UTF-8)。

如何以正確的方式轉義URL,以便顯示圖像?

回答

12

不要去ASCII編碼嘗試

NSString *URLString = [yourImagepath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSURL *url = [NSURL URLWithString:URLString]; 

我希望它能幫助你。

+1

謝謝Zohaib先生。優秀的解決方它工作得很好。 –

+0

我很抱歉,堆棧溢出不允許多個ups,這個答案確實值得。 – MegaManX

+0

我很高興它幫助! :-) – Zaksh

0

我相信你需要逃避你的URL字符串,用它作爲一個URL之前...

NSString *URLString = [yourImagepath stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
NSURL *url = [NSURL URLWithString:URLString]; 
+0

Downvote:這正是作者的帖子已經做到了 - 也可以在問題的文本中看到... – vstrien

0

對德國變音符號的iOS同樣的問題。該NSURLNSURL+IFUnicodeURL解決了這個問題對我來說,在那裏沒有得到通過的C代碼量害怕,這是很好的隱蔽性:)

+0

兄弟我是否應該添加兩個文件NSURL + IFUnicodeURL(.h和.m)in我的項目。下載的文件中包含太多文件。請通過以下方式引導我: –

+0

只需將所有內容放在項目中,包括'IDNSDK'文件夾。這包含實際的Unicode轉換庫,該類別在內部使用它們。 – Lakitu