您的位置:首页 > 其它

用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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: