From: JOUHIER B. <Bru...@sa...> - 2003-02-19 13:37:36
|
ZipInputStream reads the entry name with: String name =3D new String(buffer); ZipOutputStream writes the entry name with: byte[] name =3D entry.getName().getBytes(); So, if the name contains chars outside of the ASCII range (00-7f), the library uses the JVM's default code page to convert them (ISO-8859-1 on = my machine). This messes up the entry names because they are encoded in = DOS OEM rather than ISO 8859-1 (=E9 becomes ?) Note: the DOS OEM finding is experimental, I found some specs on the internet (http://www.pkware.com/products/enterprise/white_papers/appnote.html) = but they do not say anything about how entry names should be encoded. So, I = had to look at the binary produced by a standard Zip tool to find out how = the entry names were encoded. Bruno. ------------------------------------------------------------------------= ---- ------------------------------------------ Ce message et tous les = fichiers qui y sont attach=E9s contiennent des informations confidentielles, exclusivement destin=E9es =E0 la personne =E0 laquelle elles sont = adress=E9es. Dans l=92hypoth=E8se o=F9 ce message ne vous serait pas destin=E9, nous vous = remercions de le retourner imm=E9diatement =E0 son =E9metteur et de le supprimer. = La publication, la distribution, l=92impression ou tout autre usage non = autoris=E9 de ce message est strictement interdit. Les id=E9es et opinions = contenues dans ce message sont celles de son auteur et ne repr=E9sentent pas = n=E9cessairement celles du Groupe Sage. |