Comment 140 for bug 580961

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Thanks, that partially solves the problem (Precise, 6.0-4ubuntu2).

The question marks are gone, so LP: #1199239 can be marked 'Fix released'.
This (LP: #580961) bug is NOT fully addressed though.
The problem that remains is that only a few codepages are supported.

For example, unzipping a file that contains Greek (cp737) filenames doesn't work out of the box:
$ unzip -l biografiko.zip
biografiko/ОЫЮЪхЬк ймгзвуирйЮк ШхлЮйЮк_Щ.doc (wrong codepage)

On the other hand, if someone manually specifies the codepage, it does work:
$ unzip -O cp737 -l biografiko.zip
biografiko/Οδηγίες συμπλήρωσης αίτησης_β.doc (right codepage)

I'm guessing it would work if we added this line:
+ { "CP1253", "CP737" },
...in the mapping table defined in debian/patches/06-unzip60-alt-iconv-utf8:

+/* A mapping of local <-> archive charsets used by default to convert filenames
+ * of DOS/Windows Zip archives. Currently very basic. */
+static CHARSET_MAP dos_charset_map[] = {
+ { "ANSI_X3.4-1968", "CP850" },
+ { "ISO-8859-1", "CP850" },
+ { "CP1252", "CP850" },
+ { "UTF-8", "CP866" },
+ { "KOI8-R", "CP866" },
+ { "KOI8-U", "CP866" },
+ { "ISO-8859-5", "CP866" }
+};

I'm not changing the verification-needed flag because it's only partially fixed,
which might mean "verification-failed, affected people do list your codepages here so that we add them to the mapping table before we upload this to -updates",
or it might mean "verification-done and open a new bug report for adding more codepages",
your call. Thanks!