luccioman created IO-557:
----------------------------

             Summary: UnsupportedEncodingException when opening an ISO-8859-1 
XML stream with Turkish as the default locale
                 Key: IO-557
                 URL: https://issues.apache.org/jira/browse/IO-557
             Project: Commons IO
          Issue Type: Bug
          Components: Streams/Writers
    Affects Versions: 2.6
         Environment: JVM running with argument -Duser.language=tr, or on an 
Operating System with Turkish as its preferred language.
            Reporter: luccioman
            Priority: Minor


When the default locale is set to the Turkish language, using the 
XmlStreamReader constructor on an XML stream with a prolog including the 
ISO-8859-1 charset name in lowercase as its encoding throws a 
UnsupportedEncodingException (java.io.UnsupportedEncodingException: İSO-8859-1).
Example XML prolog : <?xml version="1.0" encoding="iso-8859-1"?>

This is apparently because the XmlStreamReader class uses String.toUpperCase() 
in its getXmlProlog() function. It should rather toUpperCase(Locale.ROOT) or 
toUpperCase(Locale.US) as already done in the getContentTypeEncoding() 
function. Otherwise the behaviour can be different depending on the default 
locale, as the dotted lower case i becomes a dotted upper case i in the Turkish 
language, which not the case with other languages.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to