Los caracteres "extraños" por url se pasan con ese formato, ya que no todos los caracteres pueden formar parte de una url.
Java tiene el URLDecoder y supongo que PHP también.
http://php.net/manual/en/function.urldecode.php
Imagino que estás leyendo los parámetros directamente de la URL, cuando imagino que existirá algún objeto/variable donde estén ya convertidos, por lo menos en java es así.