我们在进行文件压缩操作前,先做下面的修改:
SharpZipLib 提供了一个静态方法 DefaultCodePage 可以改变它的默认的字符编码方式。
ICSharpCode.SharpZipLib.Zip.ZipConstants.DefaultCodePage = Encoding.UTF8.CodePage;
然后再调用压缩方法。
如果出现 类似下面的异常
System.ArgumentException
HResult=0x80070057
Message='Cyrillic' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
Source=System.Private.CoreLib
StackTrace:
at System.Text.EncodingTable.internalGetCodePageFromName(String name)
at System.Text.EncodingTable.GetCodePageFromName(String name)
at System.Text.Encoding.GetEncoding(String name)
调用 System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
网友评论