ios请求web中的json数据的时候经常出现乱码问题:
例如请求结果可能如下:"U00e5U00a5U00bdU00e8U00aeU00a4"
在网上查到的解决方法是:
-
解析数据的时候,可以先把数据存放在NSdata对象中,再进行转码,例如
NSData*jsondata = [requestresponseData];
NSString*jsonString = [[NSStringalloc]initWithBytes:[jsondatabytes]length:[jsondatalength]encoding:NSUTF8StringEncoding];
不过我按照这种方法做的还是没能解决。
最后通过下面的方法解决了:
- (NSString *)replaceUnicode:(NSString *)unicodeStr { NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\u" withString:@"\U"]; NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@""" withString:@"\""]; NSString *tempStr3 = [[@""" stringByAppendingString:tempStr2] stringByAppendingString:@"""]; NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding]; NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:NULL]; // NSLog(@"Output = %@", returnStr); return [returnStr stringByReplacingOccurrencesOfString:@"\r\n" withString:@" "]; }
转载请注明:
本文转自:点击打开链接http://blog.csdn.net/wildcatlele
新浪微博:http://weibo.com/u/3202802157