iT邦幫忙

0

C# dotnetzip 中文亂碼問題

public static void UnZipFiles(string fileName, string path)
        {
            ReadOptions options = new ReadOptions();
            options.Encoding = Encoding.UTF8;

            using (ZipFile zipList = ZipFile.Read(fileName, options))
            {
                try
                {
                    
                    foreach (ZipEntry zipFile in zipList)
                    {
                        zipFile.Extract("D:\\test\\", ExtractExistingFileAction.OverwriteSilently);
                    }
                    
                }
                catch (Exception e)
                {
                    throw new Exception(string.Format("讀取檔案失敗,原因:{0}", e.Message));
                }
            }

        }

程式碼大致上如上,我從網路上查到是說,改成utf-8解壓縮後就檔案就不會是亂碼了,但問題是結果還是亂碼

System.Exception: '失敗原因讀取檔案失敗,原因:檔案名稱、目錄名稱或磁碟區標籤語法錯誤。'
所以跑出了以上的結果。

想請問說該怎麼解決好。
ps若我使用unicode編碼可以成功下載,但是還是會是亂碼,就比較好看的亂碼= =

看更多先前的討論...收起先前的討論...
試試 Big5
options.Encoding = Encoding.GetEncoding(”big5″)
player iT邦大師 1 級 ‧ 2020-04-24 23:16:46 檢舉
options.Encoding = Encoding.GetEncoding("GB2312");

options.Encoding = Encoding.GetEncoding("GBK");
都試看看
如果你的檔案來自對岸的話
好的我試試看,謝謝
@fysh711428 他說big5並沒有被支援
應該說以上三種寫法都被說not support

尚未有邦友回答

立即登入回答