Cause: Previously Unzip used function "fnprintf* for secure printing of string, which masked all unprintable ascii characters by '?'. In other words. wide characters weren't supported.
Consequence: Wide characters in filenames were evaluated as unprintable or "not safe for print" so were masked by '?'.
Fix: Modify the function according to upstream solution to support non-ascii encoding.
Result: Filenames with non-unicode encodings are printed correctly.