我正在开发一个通过网络服务查找项目的应用。在结果信息中有图像URL,然后我用它来显示图像。
一切都很完美,除非图片的网址中有特殊字符。
这是我使用的基本代码:
NSData * data = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: @"http://FULLURL/image-é.jpg"]];
cell.cellView.image = [UIImage imageWithData: data];
当URL包含特殊字符时,数据变量始终为nil,但在没有任何内容时有效。
我尝试了几种使用NSUTF8StringEncoding编码字符串的方法,以及没有运气的NSASCIIStringEncoding。数据变量始终为零。
答案 0 :(得分:1)
我使用en.wikipedia.org/wiki/É作为我的网址进行测试。试试这段代码:
NSString *string = [@"http://en.wikipedia.org/wiki/É" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:string];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];