IOS学习之路二十(程序json转换数据的中文字符问题解决)
2013-09-01 20:45 Lves Li 阅读(1356) 评论(0) 编辑 收藏 举报ios请求web中的json数据的时候经常出现乱码问题:
例如请求结果可能如下:"\U00e5\U00a5\U00bd\U00e8\U00ae\U00a4"
在网上查到的解决方法是:
-
解析数据的时候,可以先把数据存放在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:@"\n"];
- }
转载请注明:
本文转自:点击打开链接http://blog.csdn.net/wildcatlele
新浪微博:http://weibo.com/u/3202802157