[ 
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]

Reply via email to