Skip to content

Comments on entries does not support unicode #878

@MagnusBeijer

Description

@MagnusBeijer

Describe the bug

Setting a comment on an entry with special characters is not respected when reading back the archive.
Maybe this is the issue:

byte[] rawComment = (entry.Comment != null) ? Encoding.ASCII.GetBytes(entry.Comment) : Empty.Array<byte>();

Reproduction Code

No response

Steps to reproduce

[Test]
[Category("Zip")]
[Category("CreatesTempFile")]
public void CommentsOnEntriesSupportUnicode()
{
	string tempFile = GetTempFilePath();
	Assert.IsNotNull(tempFile, "No permission to execute this test?");

	tempFile = Path.Combine(tempFile, "SharpZipTest.Zip");
	if (File.Exists(tempFile))
	{
		File.Delete(tempFile);
	}

	using (ZipFile testFile = ZipFile.Create(tempFile))
	{
		testFile.BeginUpdate();
		testFile.Add(new StringMemoryDataSource("Aha"), new ZipEntry("Aha") 
		{
			Comment = "åäö",
			IsUnicodeText = true
		});
		testFile.CommitUpdate();

		Assert.That(testFile, Does.PassTestArchive());
	}

	using (ZipFile testFile = new ZipFile(tempFile))
	{
		Assert.AreEqual("åäö", testFile.First().Comment);
	}
}

Expected behavior

comments should be åäö but is ???

Operating System

No response

Framework Version

No response

Tags

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions