AFNetworking 2: передача параметров с русскоязычными словами

Рейтинг: 0Ответов: 2Опубликовано: 27.11.2014

На вьюхе есть поле для редактирования имени (например). Пользователь может ввести имя как при английской раскладке, так и при русскоязычной. Естественно, AFNetworking 2 крашится с ошибкой о неправильных передаваемых параметрах (при наличии в передаваемых параметрах русскоязычных слов).

Сам по себе сервер требует передавать данные в кодировке UTF8. Как правильно конвертировать всю URL строку в UTF8?

Ответы

▲ 1Принят
- (NSString *)urlEncode:(NSString *)str {
    return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)str, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFStringEncodingUTF8));
}
▲ 2

Попробуйте -[NSString stringByAddingPercentEscapesUsingEncoding:].