Hola:
En una url el primer carácter "?" es el comienzo de los parámetros... y en el resto de url no debría aparecer otra vez, porque se envían "escapados"...
Prueba este ejemplo:
Código:
<html>
<body onload="alert(escape('?') + ': ' + unescape('%3F'))" >
</body>
</html>
Esto significa que la url:
http://www.google.com/?url=http://www.dot.tk/?url=http://www.fin.com
no es correcta, y sí lo sería:
http://www.google.com/?url=http://www.dot.tk/%3Furl=http://www.fin.com
Siempre que envíes variables por url sin usar formularios, debes acostumbrarte a "escaparlos"
Espero que te sirva.
Saludos