[
https://issues.apache.org/jira/browse/HTTPCLIENT-2029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski resolved HTTPCLIENT-2029.
-------------------------------------------
Fix Version/s: 5.0 Beta7
4.5.11
Resolution: Fixed
Fixed in 4.5.x branch and HttpCore master.
Oleg
> URIBuilder cannot parse non-UTF8 URIs
> -------------------------------------
>
> Key: HTTPCLIENT-2029
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2029
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Affects Versions: 4.5.10
> Reporter: Matthias Keller
> Priority: Major
> Fix For: 4.5.11, 5.0 Beta7
>
>
> URIBuilder always parses a given URI using UTF-8. For example given the
> following URI that still uses latin1:
> {color:#008000}http://host/?x=%E4
> {color}
> %E4 is an enoded "ä" character in latin1.
> {color:#000080}new
> {color}URIBuilder({color:#008000}"http://host/?x=%E4"{color}).setCharset({color:#660e7a}ISO_8859_1{color}).getQueryParams().get({color:#0000ff}0{color}).getValue()
> outputs {color:#808080}"{color}{color:#808080}�{color}{color:#808080}"{color}
> This is because the URIBuilder constructor already parses the given URI and
> the charset is at this time always null, thus UTF-8 is used.
> Proposed fix:
> Provide overloaded constructors that also allow to specify the charset; for
> example:
> {code}
> public URIBuilder(final String string, final Charset charset) throws
> URISyntaxException {
> this.charset = charset;
> digestURI(new URI(string));
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]