dotnetcore下解壓zip文件,解決中文文件名亂碼問題


(迄今為止網上那些說的用Encoding.Default解決中文文件名亂碼的都不能真正解決問題!)

1、在程序開始處

 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

2、設置編碼為GBK

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);
            }
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM