Решение для передачи специальных символов из iPhone в PHP Script (база данных SQL)

0

Хорошо, после долгих исследований и помощи пользователей stackoverflow, я сузил, как исправить мою проблему. Большинство специальных символов работают, кроме амперсанда.

Итак, как я могу реализовать следующий код дважды? Я хочу сделать это

[[tvQ.text stringByReplacingOccurrencesOfString:@"&" withString:@"and"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]

и

[[tvQ.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]

для той же NSString

- (void) doPost:(NSString *)sport {
NSUserDefaults *p = [NSUserDefaults standardUserDefaults];

NSString* string1 = [[p valueForKey:@"user"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string2 = [[p valueForKey:@"pass"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string3 = [[[tvQ.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string4 = [[tvQ.text stringByReplacingOccurrencesOfString:@"&" withString:@"and"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* urlString = [NSString stringWithFormat:@"http://website.com/phpscript.php?user=%@&pass=%@&cat=%@&sub=%@&body=%@",string1,string2,sport,@"",string3,string4];
id val1 = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
[p setObject:val1 forKey:@"q"];

Я не уверен, что я делаю неправильно здесь, так что он уважает оба аргумента, определенные в строках 3 и строке4.

Теги:
iphone

1 ответ

0
Лучший ответ

Просто вставьте метод, который преобразует строку:

[[[tvQ.text stringByReplacingOccurrencesOfString:@"&" withString:@"and"] stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]

Теперь строка имеет все '&' заменен на "и", И все "\n" заменены на "", И он обрабатывается через stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding, чтобы сделать его безопасным для передачи в виде веб-запроса.

Но помните о проблеме, о которой говорил последний вопрос, - не слишком глубоко гнездайтесь, или может быть очень трудно прочитать то, что вы написали, когда вы позже вернетесь к ней.

  • 0
    Отлично, все работает сейчас. Ты спаситель Адам, лол.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню