Una URL
NON E' UNA STRINGA
ma un oggetto complicato fatto da 'sequenze' caratteri, "simile" ad una stringa, MA i caratteri NON SONO INTERPRETATI ALLO STESSO MODO!
CI SONO un bel po' di caratteri "speciali"
https://tools.ietf.org/html/rfc398
https://tools.ietf.org/html/rfc173
Ci sono SPECIFICI meccanismi per fare l'ENCODING (in formato URL) dei caratteri 'strani' che ti serve passare.
Oppure, un'alternativa e' passare le informazioni mediante POST, invece che GET, in modo da non passarle nella URL, ma nel BODY della risposta.