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