Lo que pasa es que las variables pasadas por URL no soportan todos los caracteres que existen, por ejemplo para representar un espacio se pone %20, su equivalente hexadecimal, en tu caso por ejemplo hay & y comillas.
te recomiendo observar la documentacion de la funcion [string urlencode ( string $str )]
en
http://php.net/manual/en/function.urlencode.php
y verás que con ella puedes solucionarlo
saludos