iOS开发-post请求和Unicode转码

原创 2015年11月19日 16:36:22

今天开发遇到怪事,afn的请求总是被默认成Unicode编码,为了解决问题直接从最基本的请求和数据类型开始。

post请求,系统自带的

method可以为nil,但是data必须是json串转化来的

- (void)sendRequestToUrl:(NSString*)urlString method:(NSString*)method data:(NSData*)data completionHandler:(void (^)(NSData *data,NSURLResponse *response, NSError *error))completionHandler
{
    NSURLSessionConfiguration * urlSessionConfiguration = [NSURLSessionConfigurationdefaultSessionConfiguration];
    NSURLSession * urlSession = [NSURLSessionsessionWithConfiguration:urlSessionConfiguration];
    NSURL *url = [NSURLURLWithString:urlString];
    NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];
    request.HTTPMethod =@"POST";
    request.HTTPBody = data;
    NSURLSessionDataTask * urlSessionDataTask = [urlSessiondataTaskWithRequest:requestcompletionHandler:completionHandler];
    [urlSessionDataTaskresume];
}

返回的信息需要转码就直接使用

 unicode转化

- (NSString *)replaceUnicode:(NSString *)unicodeStr
{
    NSString *tempStr1 = [unicodeStrstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
    NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
    NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];
    NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding];
    NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData
                                                          mutabilityOption:NSPropertyListImmutable
                                                                    format:NULL
                                                          errorDescription:NULL];
    //    NSLog(@"%@",returnStr);
    return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS -- 网络请求到的数据,中文出现乱码!!!

问题描述: 向服务器发送一个字符串,然后请求得到的数据出现乱码,        乱码样式如图所示 解决办法:        经过多次的调试,发现上传的字符串是正确的,然后再浏览器里查看则是乱码如上...
  • qq_30682071
  • qq_30682071
  • 2015年10月20日 13:48
  • 4768

关于ios中的转码问题

写在前面 最近我被这个转码问题搞得很头疼,趁着不是很忙,就像好好总结一下这方面的知识,以防再次它困扰. 一,历史介绍 1)GB2312、GBK与UTF-8的区别 首先,我们要明白,GB2312、GBK...
  • LXL_815520
  • LXL_815520
  • 2016年04月21日 19:36
  • 3226

ios 汉字转码 (汉字与utf8、Unicode转与汉字

ios 汉字转码 (汉字与utf8、Unicode转与汉字) Unicode转化为汉字: + (NSString *)replaceUnicode:(NSString *)unic...
  • yueluo1990
  • yueluo1990
  • 2015年12月30日 15:37
  • 5240

iOS --- 使用NSURL的urlWithString时,尽量先对字符串进行UTF8转码

我们常常使用NSURL的urlWithString:方法来构造NSURL,传入的字符串参数有时候会出现格式编码的问题,尤其是使用stringWithFormat:方法组合的时候,最终结果会导致NSUR...
  • icetime17
  • icetime17
  • 2015年09月27日 09:01
  • 2362

iOS 开发中常用编码格式转化

常见的字符编码格式:各种字符编码介绍及关系 ASCII :(American Standard Code for Information Interchange,美国标准信息交换代码) 百度百科 U...
  • shaobo8910
  • shaobo8910
  • 2016年05月13日 18:40
  • 2712

AFNetworking 3.0设置参数编码方式

//设置参数编码方式  manager.requestSerializer.stringEncoding = NSUTF8StringEncoding;
  • wwc455634698
  • wwc455634698
  • 2016年11月10日 10:47
  • 826

HTTP POST数据时,一定要将数据转换为UTF8再调用HttpSendRequest!!!

崩溃了,MSDN上看到这句话。。。 [code=html]Note  The HttpSendRequestA function represents headers as ISO-8859-1 c...
  • yjz1409276
  • yjz1409276
  • 2014年08月15日 03:46
  • 6838

Http协议参数传递中编码问题(Get/Post 方式)

以下内容是我转载的,觉得挺好的。。。。 一、问题:     编码问题是JAVA初学者在web开发过程中经常会遇到问题,网上也有大量相关的文章介绍,但其中很多文章并没有对URL中使用了中文等非A...
  • liuzx32
  • liuzx32
  • 2014年07月22日 19:50
  • 8364

ios Unicode 转 UTF-8

- (NSString *)replaceUnicode:(NSString *)unicodeStr {          NSString *tempStr1 = [unicodeStr ...
  • xwren362922604
  • xwren362922604
  • 2012年11月20日 19:24
  • 4120

[原]iOS--字符编码,NSString和UTF-8间的转换

2015-4-14阅读47 评论0 ASCII码相信很熟悉了,只是自己一直都记不住基本规律,有时候用起来十分不爽。 ASCII,共7位,表示128个字符,一般都在前面加0补全8位形成一...
  • tq471214251
  • tq471214251
  • 2015年10月12日 16:15
  • 18771
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发-post请求和Unicode转码
举报原因:
原因补充:

(最多只允许输入30个字)