日前使用DotNetZip library作為壓縮與解壓縮的套件
在一次新專案使用解壓縮時卻頻頻出現亂碼
因此我找了一下可能原因。
第一個 : zip檔內有中文檔名
using (ZipFile zips = new ZipFile(FileUpload.Path, Encoding.Default))
在一開始建立物件時,就決定編碼格式。
第二個:檔案內文字出現亂碼
// 存取xml using (MemoryStream outputStream = new MemoryStream()) { entity.Extract(outputStream); outputStream.Position = 0; var myStr = new StreamReader(outputStream, System.Text.Encoding.UTF8).ReadToEnd(); data.Add(entity.FileName, myStr); }
使用stream讀取資料時,記得設定編碼格式。
因此會有兩個地方要調整唷~
沒有留言:
張貼留言