转义特殊字符(ø,æ)以便在网址内使用

时间:2011-11-17 07:38:53

标签: iphone objective-c xcode

我尝试在iOS应用程序中显示带有URL源的图像,但它没有显示。

图片的网址是实时示例路径。

使用以下Objective-C代码转义此字符串时:

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

结果是(使用øæ编码):live xml path

存储URL的所有文件都使用文本编码(UTF-8)。

如何以正确的方式转义网址,以便显示图片?

3 个答案:

答案 0 :(得分:13)

不要去ascii编码试试吧

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

我希望它会帮助你。

答案 1 :(得分:0)

我相信你需要先将你的url-string转义,然后再将其作为网址...

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

答案 2 :(得分:0)

在使用德语变音符号的iOS上遇到同样的问题。 NSURL类别NSURL+IFUnicodeURL为我解决了这个问题,不要害怕那里的C代码数量,它隐藏得很好:)