Проблема кодирования $ _SERVER ['REQUEST_URI'] в php? - PullRequest
2 голосов
/ 21 октября 2009

Когда я вывожу $_SERVER['REQUEST_URI']; на:

http://localhost/tools/?tool=cs&sub=1

Я получаю:

/tools/?tool=cs⊂=1

Есть ли другое решение для получения /tools/?tool=cs&sub=1 помимо использования & вместо &?

Ответы [ 3 ]

4 голосов
/ 21 октября 2009

Это потому, что вы отображаете его в своем браузере - &sub интерпретируется как объект HTML (& sub;).

Если вы echo htmlentities($_SERVER['REQUEST_URI']); получите то, что ожидаете.

Вы должны использовать правильную кодировку для среды, в которой находитесь - в HTML, что означает использование &.

1 голос
/ 24 января 2016

попробуйте

echo urldecode($_SERVER['REQUEST_URI']);
0 голосов
/ 21 октября 2009

Как вы выводите это значение? Если вы выгружаете его в браузер, вы уверены, что он не пытается «декодировать» встроенные амперсанды?

Попробуйте файл с

<?php phpinfo();

и посмотрите, как отображается значение (в нижней части)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...