[
https://issues.apache.org/jira/browse/HTTPCLIENT-1149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13160939#comment-13160939
]
Ian Beaumont commented on HTTPCLIENT-1149:
------------------------------------------
I sort of understand your point, but I'm not sure I agree.
1. Would you expect EntityUtils.toString to return the string without the BOM
(no matter whether it is done by the decoder in this method or by the
EntityUtils.toString method itself)?
I would.
2. Looking at the implementation of EntityUtils.toString, I don't really see
that the Java API of InputStreamReader should be changed to deal with it. It
seems to me we should be using a different InputStreamReader, such as the one
outlined here...
http://stackoverflow.com/questions/1835430/byte-order-mark-screws-up-file-reading-in-java
or here
http://www.velocityreviews.com/forums/t123963-textstreamreader-with-transparent-unicode-bom-support.html
> EntityUtils.toString should detect Byte order mark (BOM) and remove it if
> present
> ---------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-1149
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1149
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.1.2
> Environment: Windows
> Reporter: Ian Beaumont
> Priority: Minor
> Labels: BOM, EntityUtils
>
> The Byte order mark at the start of the input stream should be detected and
> removed by EntityUtils.toString, otherwise strange unwanted characters are
> left at the start.
> This link lists possible Byte order markings
> http://en.wikipedia.org/wiki/Byte_order_mark
> I'm not sure if EntityUtils.toString using the BOM to try to detect the
> encoding, but if it doesn't then it should.
> Example URL that is causing this issue is mircosoft virtual earth WSDL file:
> HttpClient httpclient = new DefaultHttpClient();
> HttpGet httpget = new
> HttpGet("http://dev.virtualearth.net/webservices/v1/searchservice/searchservice.svc?wsdl");
> HttpResponse response = httpclient.execute(httpget);
> HttpEntity entity = response.getEntity();
> String textContents = EntityUtils.toString(entity);
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]