How do I get a URL parameter to be correctly URL encoded?

When including a merge field in an email link or a campaign link, it looks like they are not URL encoded. That is leading to issues when the included fields contain non-alphabet characters like a “+”.

For example, if I have an email like this: m+m@domain.com
I end up with a URL like this: http://domain.com/form/?em=m+m@domain.com
instead of this: http://domain.com/form/?em=m%2Bm%40domain.com

How can I get the merge fields to be correctly URL encoded?