If you build a link with a string param that contains a plus sign, it won't be URL encoded, so it won't be correctly decoded back to a plus sign when the URL is visited.
I'm going to have to call this as designed, in that string params are assumed to be alphanumeric (or at least "unreserved"; see some related discussion here: http://stackoverflow.com/questions/695438/safe-characters-for-friendly-url ). You may need to do manual encoding if you need arbitrary characters in a URL.