[
  {
    "Id": "533102",
    "ThreadId": "237651",
    "Html": "\r\n<p>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 &uuml;.<br>\r\n<br>\r\nBelow 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).<br>\r\nzip.Password = password<br>\r\nzip.Encryption = EncryptionAlgorithm.WinZipAes256;<br>\r\nzip.UseZip64WhenSaving = Zip64Option.AsNecessary;<br>\r\nzip.UseUnicodeAsNecessary = true;<br>\r\nzip.AddDirectory(sourceFolder);<br>\r\nzip.Save();<br>\r\n<br>\r\nTo extract, I'm using the ExtractAll call after loading the zip via Read.</p>\r\n<p>The ExtractAll call is currently failing on the file with the Korean characters with a System.IO.FileStream error &quot;Illegal characters in path&quot;. When I output the filenames to the Console, the filename looks like ?box?.dat.</p>\r\n<p>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?</p>\r\n<p>I've posted the zip file created by DotNetZip&nbsp;<a href=\"http://www.mediafire.com/?uhb09chwo8b3r64\">here</a>. The zip has junk in it and is encrypted and the password is &quot;abc123&quot;.</p>\r\n",
    "PostedDate": "2010-12-08T13:41:41.39-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "533105",
    "ThreadId": "237651",
    "Html": "\r\n<p>Oh, not that it's overly important to my problem but the the chars are Chinese/Japanese not Korean.<span style=\"color:#a31515; font-size:x-small\"></span></p>\r\n",
    "PostedDate": "2010-12-08T13:49:22.17-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "533113",
    "ThreadId": "237651",
    "Html": "\r\n<p>I've done a little more digging. The problem seems to happen when I use Read to reload the zip, use the code I gave above to add another folder, and then save the zip. Even though on the second time I again specify the UseUnicodeAsNecessary flag, it seems\r\n it gets lost. Is this a known issue? Does a bug need to get logged for this? Am I missing something?</p>\r\n",
    "PostedDate": "2010-12-08T13:58:51.263-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "533121",
    "ThreadId": "237651",
    "Html": "\r\n<p>I found a workaround.<br>\r\n<br>\r\nZipFile zip = ZipFile.Read(path);<br>\r\n<br>\r\n// remark the entries to use unicode if needed<br>\r\nforeach(ZipEntry entry in zip)<br>\r\n&nbsp;&nbsp;&nbsp;entry.UseUnicodeAsNecessary = true;</p>\r\n<p>Personally I would consider this a bug as I would expect at the time of Save() that the ZipFile's flag value would be used for entries that existed from the Read call. A possibly easier way to do this is to have DotNetZip look for filenames/comments that\r\n don't fit into IBM437 during Read and autoset the use unicode flag.</p>\r\n",
    "PostedDate": "2010-12-08T14:08:38.067-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]