DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 7
在线用户: 33
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 zhouying (zy) ★☆☆☆☆ -
盒子活跃会员
2024/1/1 13:51:10
标题:
请教一个关于中文名乱码的问题 浏览:539
加入我的收藏
楼主: 我把2个中文名的mp3文件打包成zip的格式。但是之后用delphi自带的zip单元解压到目录后,文件名就都变成乱码的。这个有什么办法吗?

以下是解压文件的代码,用的是D10.4
zip := TZipFile.Create;
DoDownload('http://xxx./voan/music.zip');
Zip.Open(Filename, TZipMode.zmRead);
Zip.ExtractAll('C:\Users\Public\Thunder Network\APlayer\Music');
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2024/1/2 1:45:48
1楼: 看你的代码,zip 文件是 download 来的,不是你自己打包的。


你有测试自己用 TZipFile 来打包,再用 TZipFile 来解包吗?
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2024/1/2 4:10:28
2楼: 应该不是你的问题。zip有原罪的,就是最早不支持Unicode,但是又没法改,否则早先的zip不支持了那还了得。 不信你用Delphi压缩并解压缩看看,保证没问题。或者用winrar正常模式压缩,用delphi解压缩,应该也没问题。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2024/1/2 10:03:42
3楼: 旧的ZIP格式只支持ANSIC格式的文件名,后来才增加了UTF8的标识,是否启用这个标识是在ZIP文件头里面。然而如果是旧ZIP格式压缩出来的文件,解压的时候是不知道编码的,有可能出现乱码。
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 yookee (yookee) ★☆☆☆☆ -
盒子活跃会员
2024/1/2 10:38:04
3楼: 下载下来的zip文件情况比较多
是别人上传的zip还是网站在下载时自动打包的zip
上传人的打包环境,网站的打包环境都有影响

下面是我遇到的情形供参考:
服务器操作系统是麒麟的,代码页被设置成936(GB2312),此上原生的中文名文件压缩解压缩,包括下载到Windows系统(10和11)的解压都没问题。
有人以65001(UTF-8)上传中文名文件,其他人下载后就各种乱码了。

具体解决过程我记不清了(新冠后遗症),好像7zip里显示都是正常的,反正Windows平台上的代码里留了两种解压方式
UnTar := TAbUnZipper.Create(nil);
UnTar.ExtractOptions := [];
UnTar.filename := tarfile;
UnTar.BaseDirectory :=untardir;
UnTar.ExtractFiles(path_in_tar);
UnTar.CloseArchive;
UnTar.Free;

ShellExecute(0, nil, PChar('tar'), PChar('xvf ' + tarfile + ' --strip-components 8 *'), PChar(untardir), 0);
----------------------------------------------
-
作者:
男 zhouying (zy) ★☆☆☆☆ -
盒子活跃会员
2024/1/2 14:04:58
4楼: 谢谢楼上兄弟们的解答,网上的那个文件,是我自己主页上的。我后来弄好了。用7zip加了一个参数,让他自动按照utf8的格式来打包了。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行140.625毫秒 RSS