I'm attempting to make an encrypted zip file that may need unicode for file entry names in the zip. All the items in my test that I'm trying to compress have English filenames except one file I made that has a mix of Korean characters and ü.
Below is a snippet of the code I'm using the make the zip. I add a bunch of files, then reload the zip and add another file (I have an if above this that checks for the file and creates a new object or calls Read to load an existing one).
zip.Password = password
zip.Encryption = EncryptionAlgorithm.WinZipAes256;
zip.UseZip64WhenSaving = Zip64Option.AsNecessary;
zip.UseUnicodeAsNecessary = true;
To extract, I'm using the ExtractAll call after loading the zip via Read.
The ExtractAll call is currently failing on the file with the Korean characters with a System.IO.FileStream error "Illegal characters in path". When I output the filenames to the Console, the filename looks like ?box?.dat.
I saw in other posts that I can just force UTF8 and that gets rid of the error, but isn't DotNetZip supposed to autodetect this?
I've posted the zip file created by DotNetZip here. The zip has junk in it and is encrypted and the password is "abc123".