我正在从服务器下载数据(文本)。
我尝试过两种方式:NSISOLatin1StringEncoding
和NSASCIIStringEncoding
但是我一直在看:{"estado":"M\u00e9xico"}
注意它应该是México
而不是M\u00e9xico
(重点是e)。
在线查看我认为\u00e9
实际上是é
link.
但NSString无法解释这一点,而是在我的UILabels上打印出奇怪的东西:
我真的非常感谢你对此的帮助。
Alsso,如果您有兴趣,可以从这里下载数据:http://www.miorden.com/demo/iphone/estadoJSON.php
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.miorden.com/demo/iphone/estadoJSON.php"]];
NSString *string = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"Downloaded: %@", string);
string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.miorden.com/demo/iphone/estadoJSON.php"] encoding:NSISOLatin1StringEncoding error:nil];
NSLog(@"Downloaded: %@", string);
我几天都在努力试图杀了我!
非常感谢你!
答案 0 :(得分:3)
这似乎是unicode,请尝试NSUTF8StringEncoding。
答案 1 :(得分:1)
数据采用JSON格式,因此您也需要对其进行JSON解码。
例如使用:https://github.com/TouchCode/TouchJSON
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.miorden.com/demo/iphone/estadoJSON.php"]];
NSError *error;
NSArray *array = [[CJSONDeserializer deserializer] deserializeAsArray:data error:&error];
NSLog(@"Test: %@", [[array objectAtIndex:11] valueForKey:@"estado"]);
输出
2011-08-11 09:35:45.742 enctest[63236:407] Test: México