Iphone NSURL连接上的编码

Iphone NSURL连接上的编码,iphone,ios,encoding,nsurlconnection,nsurl,Iphone,Ios,Encoding,Nsurlconnection,Nsurl,我需要从REST服务加载数据,但当我有任何重读时,结果总是空的。我知道这是一个编码问题,但NSUrlConnection没有给我解决方案。我得到的最好结果是,我所有的文本都用奇怪的代码来代替重音字符 我已经尝试像下面的代码一样使用NSUrl,并且它可以工作,但是我需要为此连接设置两个头 NSURL *nsurl = [[NSURL alloc] initWithString:url]; NSString *data = [[NSString alloc] initWithContentsOfUR

我需要从REST服务加载数据,但当我有任何重读时,结果总是空的。我知道这是一个编码问题,但NSUrlConnection没有给我解决方案。我得到的最好结果是,我所有的文本都用奇怪的代码来代替重音字符

我已经尝试像下面的代码一样使用NSUrl,并且它可以工作,但是我需要为此连接设置两个头

NSURL *nsurl = [[NSURL alloc] initWithString:url];
NSString *data = [[NSString alloc] initWithContentsOfURL:nsurl encoding: NSUTF8StringEncoding error: nil];
我可以有两种解决方案来解决这个问题,添加头来进行NSUrl连接,或者设法使编码在NSUrl连接中工作

NSURL *nsurl = [[NSURL alloc] initWithString:url];
NSString *data = [[NSString alloc] initWithContentsOfURL:nsurl encoding: NSUTF8StringEncoding error: nil];

有人有解决方案吗?

您可以使用setValue:forHTTPHeaderField:

在实例中为请求添加头字段。如何设置编码?和:您想要设置什么编码?使用NSURL测试NSUTF8StringEncoding可以工作,但不接受头。您可以使用这些文件测试NsURLConnection的编码:它们有一个带重音符号的xml节点:joão。一种使用UTF-8,另一种使用ISO-8859-1。