Powershell downloadFile with special characters

I have this bit of powershell code that is ran during a batch script.

powershell -Command "(New-Object Net.WebClient).DownloadFile('http://example.com/otherdb/modelfinder/form.php?model=%model%&os=%ver%&graphics=%gpu%&hdd=%hdd%&ram=%ram%&processor=%processor%&actualmodel=!realmodel!&Implement=0&UPC=!realupc!&otherIdentifier=!identifier!', 'save.txt')"

This basically passes information to my server which then puts it in a database.

The problem is, sometimes the variables that this passes contain characters like + and #, which can drop the rest of the variable or just skip that character since it is passed in the URL.

Is there any way around this? I need the information to be stored in the database exactly as it is reported by the batch script.

--Edit it has come to my attention that this may be an issue with my php sided script. Is there any way to ignore characters like # or + being in a GET variable, but keeping it in tact?