Знак плюс, расшифрованный в пространство - PullRequest
0 голосов
/ 23 мая 2018

Я отправляю запросы с ios и android на некоторый PHP-сервер, и некоторые параметры в GET-запросе неправильно декодируются.

request: http://myserver.com/path?email=john+doe

$_GET['email'] == 'john doe' instead of 'john+doe'
$this->request->get('email') == 'john doe' instead of 'john+doe'

Очевидно, php (я использую phalcon) использует urldecode и заменяет + на 1пространство.

Как этого избежать?Могу ли я соответственно изменить тип содержимого и заголовок «Content-Type»?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если вам действительно нужен знак «+» в файле PHP, возможно, вам нужно иметь «+» в виде «% 2B».

Нет ничего плохого в чтении значений, которые вы упомянули.

0 голосов
/ 23 мая 2018

неправильно декодированы

Они правильно декодированы.

Могу ли я изменить тип enconding и "Content-Type"заголовок соответственно?

Нет.Заголовок Content-Type описывает формат тела запроса, а не строку запроса.

Прежде всего необходимо правильно кодировать данные в строке запроса.

A + знакдолжен быть представлен как %2B.

...