(迄今爲止網上那些說的用Encoding.Default解決中文文件名亂碼的都不能真正解決問題!)ide
一、在程序開始處編碼
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);spa
二、設置編碼爲GBKblog
class Program { static void Main(string[] args) { // 註冊代碼頁提供器實例 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Uncompress("a.zip", "x"); } static void Uncompress(string zipFile, string extractPath) { // 設置打開的ZIP文件的編碼爲GBK using (var zip = ZipFile.Open(zipFile, ZipArchiveMode.Read, Encoding.GetEncoding("GBK"))) { foreach (var entry in zip.Entries) { System.Console.WriteLine(entry.FullName); } zip.ExtractToDirectory(extractPath, true); } } }