用NSURLConnection Post上传数据的特殊字符处理
2011-09-08 10:57
393 查看
转自:http://hi.baidu.com/%CB%E6%B7%E7_1989/blog/item/087dfaf724592249342acc1e.html
今天用NSURLConnection Post上传的时候发现一个特奇怪的问题,只要是+号都会替换成空格,例如"google+"就会变成"google
",代码如下:
NSString*bodyStr =@"google+";
[urlRequestsetHTTPBody:[bodyStr dataUsingEncoding:NSUTF8StringEncoding]];
//NSUTF8StringEncoding编码是为了防止中文上传的时候出错。
查些资料发现只要这些特殊符号在转之前做一次UTF8编码就可以解决这个问题了,代码如下:
NSString*bodyStr =@"google+";
NSString*bStr =CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)bodyStr,
NULL,
CFSTR(":/?#[]@!$&’()*+,;="),
kCFStringEncodingUTF8);
[urlRequest setHTTPBody:[bStr dataUsingEncoding:NSUTF8StringEncoding]];
[bStr release];
今天用NSURLConnection Post上传的时候发现一个特奇怪的问题,只要是+号都会替换成空格,例如"google+"就会变成"google
",代码如下:
NSString*bodyStr =@"google+";
[urlRequestsetHTTPBody:[bodyStr dataUsingEncoding:NSUTF8StringEncoding]];
//NSUTF8StringEncoding编码是为了防止中文上传的时候出错。
查些资料发现只要这些特殊符号在转之前做一次UTF8编码就可以解决这个问题了,代码如下:
NSString*bodyStr =@"google+";
NSString*bStr =CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)bodyStr,
NULL,
CFSTR(":/?#[]@!$&’()*+,;="),
kCFStringEncodingUTF8);
[urlRequest setHTTPBody:[bStr dataUsingEncoding:NSUTF8StringEncoding]];
[bStr release];
相关文章推荐
- 用NSURLConnection Post上传数据的特殊字符处理
- 用NSURLConnection Post上传数据的特殊字符处理
- 用NSURLConnection Post上传数据的特殊字符处理
- C# winform端 通过HttpWebRequest进行post和get请求,数据格式为json,后台java端接收,其中有关传输特殊字符(\t,\r,',\n,n)等处理
- 用NSURLConnection Post上传数据的"+"会变成空格
- NSURLConnection上传数据的特殊字符处理
- 用NSURLConnection Post上传数据的"+"会变成空格
- 用NSURLConnection Post上传数据的"+"会变成空格
- 如何利用jQuery post传递含特殊字符的数据【转】
- java 中JSON数据特殊字符的处理
- 使用HttpURLConnection通过POST方式提交请求数据,并上传文件
- oracle数据中特殊字符处理
- MySQL数据入库时特殊字符处理详解
- post NSURLConnection请求网络数据
- spring mvc源码-》MultipartReques类-》主要是对文件上传进行的处理,在上传文件时,编码格式为enctype="multipart/form-data"格式,以二进制形式提交数据,提交方式为post方式。
- JSON中数据特殊字符的处理
- 数据验证之特殊字符处理
- Android HttpURLConnection服务器POST上传数据
- iOS基础8:自定义MyData/自定义SQLite用于网络判断,版本判断,图片缓存处理,下载或者上传的GET或POST请求,加密手段,.数据解析
- SQL处理从Excel中复制过来的数据时,特殊字符去不掉