If the "en_US.UTF-8" locale is not available then the UTF-8 GPBF bit 11 is not set (incorrectly) without any warning. This produces bad encoding when decompressing with file-roller and 7z. The issue can be easily reproduced: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680932#19 Of couse, the issue can be solved generating the "en_US.UTF-8" locale: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680932#24 But, perhaps uncommenting the "Could not set Unicode UTF-8 locale" printf (in main function of files zip.c, zipsplit.c, zipcloak.c and zipnote.c) would be a good idea: if (loc != NULL) { /* using UTF-8 character set so can set UTF-8 GPBF bit 11 */ using_utf8 = 1; /* printf(" Locale set to %s\n", loc); */ } else { /* printf(" Could not set Unicode UTF-8 locale\n"); */ } } Best regards.