I've delved into this and found the issue is in SharpZipLib. It appears to be quite tricky. From my research I have found that the zip file does not store internally how the filenames have been encoded. And the decoding happens on the server which is a different machine then the client machine that created the zip. Now the server is set to use its own internal default "CodePage" for interpreting textual data. More details here:
http://community.sharpdev.../forums/t/10702.aspx I've run a number of tests locally with different filenames zipped up. But I've never been able to get a proper filename back. I zipped using Windows "Send to compressed folder". When using Windows or WinRAR I get the filenames back as expected. But using SharpZipLib I get garbage. For now I'm not able to promise I'll have this resolved for the next version. Note I use the SharpZipLib that is packaged with DNN, so I can't just go and tweak the code in that (besides the fact that it would be a ton of work to find out how that code works and where this issue may be).
Peter