title: namelist() from ZipFile returns strings with an invalid encoding
body: <p>The problem is that for some archives or files up-loaded to the python application, <code>ZipFile</code>'s <code>namelist()</code> returns badly decoded strings.</p>
  
  <pre><code>from zip import ZipFile
  for name in ZipFile('zipfile.zip').namelist():
      print('Listing zip files: %s' % name)
  </code></pre>
  
  <p>How to fix that code so i always decode file names in unicode (so Chineeze, Russian and other languages supported)?</p>
  
  <p>I've seen some samples for Python 2, but since string's nature is changed in python3, i have no clue how to re-encode it, or apply chardet on it.</p>