如何解决zip存档中的文件名编码会截断名称
我正在创建一个归档文件,其中文件名可以包含西里尔字母。 为了正确显示,我使用以下内容:
$files = Array(...);
$zip = new ZipArchive;
$zip->open($zipname,ZipArchive::CREATE);
for ($i = 0; $i <= sizeof($files); $i++) {
$fn = basename($files[$i]);
$fileName = iconv('UTF8','CP866',$fn);
$zip->addFile($files[$i],$fileName);
}
$zip->close();
但是,在归档文件的输出中,我得到了截断的名称,如果有一个特定的字母,即名称在其前面被截断了,例如:
file -> "Моя история.txt" output in zip -> "история.txt"
file -> "Домой-обратно.txt" output in zip -> "-обратно.txt"
如果没有这样的字母,那么一切都很好:
file -> " Разлив и Сестрорецк 14.10.2020.txt" output in zip -> " Разлив и Сестрорецк 14.10.2020.txt"
告诉我可能是什么问题,或者有人知道解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。