I am having an issue passing a % sign via the $_GET method. I am running the variable through urlencode() before sending it to the browser and it is adding all the + signs between words but it does nothing with the % and this is causing a 404 error. I have also tried using rawurlencode() but it is the same effect with the error. This is an issue for me as I am coding my own forum and I cannot control if a user uses % instead of percent. Can anyone think of why urlencode() is not encoding the % sign?

Here is my code for the url

PHP Code:
<a href="reply.php?tid=' . $tid . '&pid=' . $messages['post_id'] . '&body=' . urlencode($messages['message']) . '>Reply & Quote</a>