Cysiaczek ma rację - absolutnie wszystko poza [a-zA-Z0-9-] w argumentach GET to potencjalne problemy i należy tego unikać za wszelką cenę. Np interpretacja "/" zależy od konfiguracji apacha który może nie pozwalać na przekazywanie tego znaku, nawet jeśli użyliśmy urlencode - nie mówiąc o tym że. np przy przetwarzaniu mod_rewrite apache część znaczków zakodowanych w postaci %xx sobie odkodowuje, a części nie co wprowadza dodatkowy bajzel.
Przykład - jeśli zrobiliśmy
"?page=".urlencode("a+b") i user kliknął w tak powstały link to co możemy otrzymać z
urldecode($_GET['page']) ?
"a b" 
Wiadomo najlepiej było by używać wszędzie tylko POST ale często po prostu się nie da.
Z ciekawostek - jezeli mamy polskie literki w urlu np. Firefox sam zrobi urlencode w zapytaniu do serwera, IE nie. I osobiście uważam, że to co robi Fx to błąd - bo skąd ma wiedzieć czy używamy iso8859-2 czy UTF-8?