NSMutableUrlRequest ест знаки "плюс"

Я создаю NSMutableUrlRequest для отправки данных к серверу, добавляю все необходимые поля к нему и затем добавляю строку для отправки как это:

[theRequest setHTTPBody:[postString dataUsingEncoding: NSUTF8StringEncoding]];

постстрока является обычным NSString.

Проблема, когда я получаю этот запрос в сервере, весь плюс (+), знаки исчезают из тела HTTP. Таким образом, если у меня был "abcde+fghj" на iPhone, я добираюсь "abcde fghj" на сервере".

Может это быть некоторой проблемой кодирования от использования dataUsingEncoding: NSUTF8StringEncoding? Или некоторая функция разделения NSMutableUrlRequest? Что я могу сделать, чтобы заставить его прекратить разделять знаки "плюс"? Я должен получить строки UTF8 в стороне сервера.

5
задан Mike 22 March 2010 в 10:19
поделиться

2 ответа

Возможно, сервер не знает кодировку тела POST. Вы пытались добавить charset = UTF- 8 в заголовок вашего запроса:

[theRequest setValue:@"application/x-www-form-urlencoded; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
0
ответ дан 15 December 2019 в 00:57
поделиться

Знак плюс (+) является стандартным ярлыком для пробела в строке запроса URL-адреса. Если вам нужен литерал +, закодируйте его как %2b.

4
ответ дан 15 December 2019 в 00:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: