Para generar links con caracteres "extraños" conviene usar urlencode(), es más, creo que es necesario. Mi pregunta iba más a su contraparte urldecode(). Al imprimir directamente la variable de la URL sale el texto no codificado. Por eso pregunto si es realmente necesario decodificar las variables o es un proceso que siempre se realiza automáticamente. Y en ese caso, entonces cuál sería el fin del urldecode().
Saludos,