[ https://issues.apache.org/jira/browse/COMPRESS-471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16691922#comment-16691922 ]
Stefan Bodewig commented on COMPRESS-471: ----------------------------------------- Unfortunately the ZIP format doesn't have a way of signalling the name encoding at all - which is not the complete truth, modern archiving libraries that use UTF-8 will indicate this by setting a flag and Commons Compress will use the flag to override the configured encoding, but not all archivers set this flag. For a more complete picture see http://commons.apache.org/proper/commons-compress/zip.html#Encoding If you really are concerned, you can use {{getRawName}} on the {{ZipArchiveEntry}} and try to convert the name yourself. > Zipped files names having non UTF-8 encoding are being replaced with '?' > while previewing file. > ----------------------------------------------------------------------------------------------- > > Key: COMPRESS-471 > URL: https://issues.apache.org/jira/browse/COMPRESS-471 > Project: Commons Compress > Issue Type: Bug > Affects Versions: 1.18 > Reporter: Gaurav Mittal > Priority: Major > Attachments: Document(▒Γ║╗)_20150226_11.zip, Incorrect.JPG, > correct.JPG > > > | * All the strings which are not supported by UTF-8 are being replaced by > '?' symbol, > In the issue scenario the charset is 'Cp850', Since the common compress > library cannot identify the 'Cp850' charset and it takes the default charset > as 'UTF-8' therefore > we can see the '?' symbol > In our code > ZipFile ret = new ZipFile(path); > Moreover if we send the encoding in the function as defined below, it works > fine > ZipFile ret = new ZipFile(new File(path), "Cp850",false); > But the second scenario where we are forcibly giving the encoding as 'Cp850' > may cause side effects in some cases > -------------------------------------------------------------------------- > Below code does not seem to resolve UTF8 conflicts and could not make file > names into correct form - > > try { > final Map<ZipArchiveEntry, NameAndComment> entriesWithoutUTF8Flag = > populateFromCentralDirectory(); > resolveLocalFileHeaderData(entriesWithoutUTF8Flag); > success = true; > } finally { > closed = !success; > if (!success && closeOnError) { > IOUtils.closeQuietly(archive); > } > }| > | | -- This message was sent by Atlassian JIRA (v7.6.3#76005)