我們在進(jìn)行文件壓縮操作前,先做下面的修改:
SharpZipLib 提供了一個靜態(tài)方法 DefaultCodePage 可以改變它的默認(rèn)的字符編碼方式。
ICSharpCode.SharpZipLib.Zip.ZipConstants.DefaultCodePage = Encoding.UTF8.CodePage;
然后再調(diào)用壓縮方法。
如果出現(xiàn) 類似下面的異常
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)
調(diào)用 System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);