Foxtable(狐表)用户栏目专家坐堂 → ExtractAll中文乱码


  共有2582人关注过本帖树形打印复制链接

主题:ExtractAll中文乱码

帅哥哟,离线,有人找我吗?
lur320
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:969 积分:8532 威望:0 精华:0 注册:2015/8/12 16:28:00
ExtractAll中文乱码  发帖心情 Post By:2020/4/3 11:00:00 [只看该作者]

在使用ZipFile的代码时,解压缩中文的文档就是乱码。之前压缩会有乱码,我用了下面的代码压缩,请问解压缩用什么?

Dim zipedFile As String = filenam
        Using fs As io.FileStream = io.File.OpenRead(fileToZip)
        Dim buffer As Byte() = New Byte(fs.Length - 1) {}
        fs.Read(buffer, 0, buffer.Length)
        fs.Close()
        Using ZipFile As io.FileStream = io.File.Create(zipedFile)
        Using ZipStream As ICSharpCode.SharpZipLib.zip.ZipOutputStream = New ICSharpCode.SharpZipLib.zip.ZipOutputStream(ZipFile)
        Dim fileName As String = fileToZip.SubString(fileToZip.LastIndexOf("\") + 1)
        Dim ZipEntry = New ICSharpCode.SharpZipLib.zip.ZipEntry(fileName)
        ZipStream.PutNextEntry(ZipEntry)
        ZipStream.SetLevel(7)
        ZipStream.Write(buffer, 0, buffer.Length)
        ZipStream.Finish()
        ZipStream.Close()
    End Using
End Using
End Using


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/3 11:07:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:969 积分:8532 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2020/4/3 11:15:00 [只看该作者]

你理解错我的意思了。我用的是狐表的ZipFile解压缩含有中文文件名的ZIP时,会出现乱码。

压缩的那个只是我的例子。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/3 11:29:00 [只看该作者]

试试这个:
UseUtf8Encoding逻辑型,压缩包中的文件名和注释是否采用UTF8格式编码。

Dim zip As New zipFile
zip.UseUtf8Encoding = true ‘false
压缩的时候指定Utf8编码。

如果还不行,建议还是使用同一个组件处理解压缩吧

 回到顶部