Plus signs are interpretted as spaces by browsers.
Since you are using the GET method your request data is ending up in the querystring (probably better to use POST if you can).
As the data is in the querystring the server automatically changes + to space.
Here is a thread that may help more.