【发布时间】:2015-10-09 13:35:54
【问题描述】:
我正在使用“PhpConcept 库 - Zip 模块 2.8.2”(http://www.phpconcept.net/pclzip/),也称为 pclzip 来创建 zip 文件。我在 Windows 8.1 上运行 XAMPP。
我能够创建一个好的 zip 文件内容。但是,带有瑞典字符 (åäö) 的文件和文件夹名称在 zip 文件中会变得混乱。
用法(压缩文件夹):
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->add('filestobezipped/') == 0) {
die('Error : '.$archive->errorInfo(true));
}
我猜有一些字符编码问题。但是这应该如何解决呢? PclZip 库用户指南很难理解。 zip 格式使用 CP437 和 UTF-8。我的 php 使用的是 ISO8859-1。
【问题讨论】:
-
"PclZip 库用户指南很难理解" 那么为什么要使用它而不是 php zip 类呢? php.net/manual/en/book.zip.php
-
我一开始尝试了 ZipArchive 类,但它的表现并不好。当 zip 文件变大 (>400Mb) 时,它就崩溃了。 PclZip 工作,但有这个东西的编码。
-
@MarcusNyberg 崩溃是什么意思? PHP 不会简单地崩溃而没有任何错误。根本原因很可能是 pclzip 库中的错误,我看到了一个潜在的修复,但它也可能导致其他问题。所以我真的建议使用受支持的库,而不是使用 9 年且仍有待更新的库。你能告诉我如何文件名“混乱”的例子吗?我看到一个问题,即包含
ÅÄÖ的字符串会缩短,如果其中一个字符位于文件名的末尾,对我来说会产生未知的影响。
标签: php character-encoding zip pclzip