encodeURI vs encodeURIComponent
Encode uses encodeURI, which is meant for encoding a full URL
and leaves characters like /, :, and ? untouched.
Encode Component uses encodeURIComponent, which escapes those
characters too and is what you want when encoding a single query parameter value.