从Web服务获取中文数据为UTF8

时间:2015-03-26 04:21:15

标签: ios web-services utf-8

我正在尝试访问一个返回一些有中文字符数据的网址。它在浏览器中返回以下响应:

  

{" news":"新闻发布"}

但是当我尝试在我的Objective C代码中读取它时,我在nsdata中得到nil。以下是我的Objective C代码:

NSString *final_url = [NSString stringWithFormat:@"http://xx.xxx.xx.xx:xxxx/iph1/NewsAction.do?service=NEWSNOTIF&lang=2&uid=xxxxxxx"];

final_url = [final_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:final_url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0];

NSURLResponse *response;
NSError *error = [[NSError alloc] init];

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

NSString *strResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSData *objectData = [strResponse dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
                                                     options:NSJSONReadingMutableContainers
                                                       error:&error];
NSLog(@"json %@",json);

修改

对于测试服务器的人正在发送以下数据:

String testJson ="新聞發佈";

1 个答案:

答案 0 :(得分:0)

我没有错误。数据为零。然后没有收到服务器本身的响应。首先尝试通过要求服务器发送正常字符串。我认为数据为零的原因与此处的字符串编码无关。我怀疑答案本身并没有收到。