Я работаю в iPhone.Я использую php на стороне сервера.
Я хочу отправлять комментарии.Я пишу свой код следующим образом:
NSString *path=[[NSBundle mainBundle] pathForResource:@"url" ofType:@"plist"];
NSMutableDictionary *tmpDic=[[NSMutableDictionary alloc]initWithContentsOfFile:path];
NSMutableString *tempUrl=[tmpDic valueForKey:@"url1"];
NSString *urlString=[NSString stringWithFormat:@"%@/CC/postcomment",tempUrl];
NSString *post =[NSString stringWithFormat:@"placeId=%d&user_name=%@&comment=%@&userId=%d",uPlaceId,displayName,[self urlEncodeValue:message],[u.userId intValue]];
NSLog(@"%@",post);
NSURL *url=[NSURL URLWithString:urlString];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding
allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded"
forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
Но когда я пишу какой-то специальный символ в строке комментария, например, как # $% ^, это создает проблему при отправке комментариев.
для этогоя использовал кодировку моего комментария.это функция для кодирования:
-(NSString *)urlEncodeValue:(NSString *)str {
NSString *result = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)str, NULL, CFSTR("?=&+˜!@#$%ˆ&*()_+|\\?'/.>,<;:\"\\'"), kCFStringEncodingUTF8);
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)str, NULL, CFSTR("?=&+"), kCFStringEncodingUTF8);
NSLog(@"%@",result);
return [result autorelease];
}
Работает нормально.но все еще создает проблему, когда я хочу отправить ** обратную косую черту в комментарии.
Поскольку этот следующий запрос и генерирует:
insert into place_comments(placeId,comment_datetime,user_name,comment,userId) values('15','2011-02-01','sharmagunjan','\','199') ;
В этом запросе этот \
создаетпроблема в запросе.
Пожалуйста, предложите мне, что я должен сделать для этого.