[ 
https://issues.apache.org/jira/browse/IVY-1060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicolas Lalevée resolved IVY-1060.
----------------------------------

       Resolution: Fixed
    Fix Version/s: trunk
                   2.3.0
         Assignee: Nicolas Lalevée

patch applied, thanks !
                
> ApacheURLLister.retrieveListing() fails if the encoding of the URL list is 
> different from the default encoding
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1060
>                 URL: https://issues.apache.org/jira/browse/IVY-1060
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0, 2.1.0, 2.3.0-RC1
>         Environment: OS: z/OS 1.9
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pmz3160sr3-20081108_01(SR3))
>            Reporter: Robin Fernandes
>            Assignee: Nicolas Lalevée
>              Labels: patch
>             Fix For: 2.3.0, trunk
>
>         Attachments: patch.ivy.URLListerEncoding.diff
>
>
> ApacheURLLister.retrieveListing() assumes that the list of URLs is encoded in 
> the same encoding as the system's default encoding.
> The problematic code is:
> {code}
> BufferedReader r = new BufferedReader(new 
> InputStreamReader(URLHandlerRegistry.getDefault().openStream(url)));
> String htmlText = FileUtil.readEntirely(r);
> {code}
> FileUtil.readEntirely() converts the the content of the BufferedReader r to a 
> String. Because no encoding is specified in the InputStreamReader 
> constructor, the default encoding is used. If the default encoding does not 
> match the actual encoding of the data read from url,  htmlText ends up as a 
> garbage String and the URL pattern matcher fails.
> This causes an issue on z/OS, where the default encoding is EBCDIC (e.g. 
> IBM-1047) but the data containing the list of URLs is typically retrieved 
> from the network as ASCII (ISO-8559-1).
> A workaround could be to specify the system property 
> -Dfile.encoding=ISO-8559-1 on the command line, but this is a bit of a big 
> hammer. In particular, it is not suitable when Ivy is used within an 
> application where we don't to assume all input is ISO-8559-1.

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


Reply via email to