以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- zipfile 和中文乱码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131444) |
-- 作者:lur320 -- 发布时间:2019/2/26 13:35:00 -- zipfile 和中文乱码 如下代码,用于制作1个zip压缩包,但是当待压缩的文件有中文字符时,会出现乱码。请问如何处理?我不能修改客户端默认的ZIP程序。 Dim fileloc As String=Args(0) Dim filenam,newfileloc As String If FileSys.DirectoryExists(ProjectPath & "tempfile\\zipfs")=False Then FileSys.CreateDirectory(ProjectPath & "tempfile\\zipfs") End If Dim zip As New zipFile filenam=ProjectPath & "tempfile\\zipfs\\tempzip" & Val2 & ".zip" Do While FileSys.FileExists(filenam) Val2 = Rand.Next(1000) filenam=ProjectPath & "tempfile\\zipfs\\tempzip" & Val2 & ".zip" Loop zip.Create(filenam) zip.AddFile(fileloc) 就是这里出问题,如果fileloc含有中文字符,则放入zip文件后会被乱码替代掉,并且不能再打开。 zip.Close() Return filenam [此贴子已经被作者于2019/2/26 13:36:05编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/2/26 14:20:00 --
你卸载重装一下你的winzip软件。
|
-- 作者:lur320 -- 发布时间:2019/2/28 9:44:00 -- 确认了,不是电脑上ZIP文件的问题,而是狐表c1zip.zipfile的bug。 这个c1zip.zipfile仅支持Code Page 437。。。。 用电脑上zip文件手动添加压缩包是OK的,用狐表代码怎不行。 同样的问题见: http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=97839&skin=0
|
-- 作者:有点甜 -- 发布时间:2019/2/28 9:52:00 -- 1、卸载重装winzip,安装360的或者winzip。
2、如果还有,请上传具体实例测试。 |
-- 作者:lur320 -- 发布时间:2019/2/28 10:00:00 -- 电脑用的是7zip。并且集团管控不能改。 并且刚在没有压缩软件的电脑上试了代码,依旧不能压缩中文名字的文件。 和c1.zip.2.dll的帮助文件说明的现象一致。 |
-- 作者:有点甜 -- 发布时间:2019/2/28 10:06:00 -- 安装winzip或者好压或者360zip。
我测试没问题,请安装别的zip文件。
|
-- 作者:lur320 -- 发布时间:2019/2/28 10:25:00 -- 不能修改或安装其他软件,即使OK了。也不能保证发布后每台客户端都是可用的winzip、 如何在狐表里面处理掉这个问题?引用新的dll?或者c1.zip.4.dll ?
|
-- 作者:有点甜 -- 发布时间:2019/2/28 10:28:00 --
这个是你的电脑或者你的的zip软件所决定的,无法处理。
|
-- 作者:有点甜 -- 发布时间:2019/2/28 10:31:00 -- 不然你就换一个第三方zip工具
https://www.baidu.com/baidu?wd=SharpZipLib.dll
|
-- 作者:lur320 -- 发布时间:2019/2/28 10:52:00 -- 除了做DLL的引用,还有什么教程可以用? |