It seems that according to RFC-3986, new URI schemes must be UTF-8 encoded.  http is not a new URI scheme, and it doesn't make this assertion about it because that would make many browsers non spec compliant.  But it seems to push you strongly to use UTF-8 if you're the one doing the encoding.  So I'm not sure if we need the encoding parameter.