[aURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

  今天使用这个[aURLStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]方法,在IOS9.3系统出问题,发现+总是不能正常转义,我用的MKNetwokkit,get请求,开始params是空,参数都在[engineoperationWithPath:SERVER_PATHparams:postValueshttpMethod:@"GET"]的第二个参数,开始时发现中文无法请求成功,后来在- (id)initWithURLString:(NSString*)aURLString

params:(NSDictionary*)params

httpMethod:(NSString*)method的方法中加入else{

/********添加**/

NSLog(@"aURLString--->>>>%@",aURLString);

aURLString = [aURLStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@"finalURL-->>>>%@",finalURL);

/********郭明月添加结束**/

finalURL = [NSURLURLWithString:aURLString];

}之后基本正常,可后来+号无法正常转义,发现[aURLStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]这个方法在iOS9下已经不太好用了,还是讲参数传入了params中解决了问题。


或者改为iOS9后推荐的aURLString = [aURLStringstringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetcharacterSetWithCharactersInString:@"`#%^{}\"[]|\\<>+"].invertedSet];也好。

你可能感兴趣的:([aURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];)