今天使用这个[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];也好。