我正在使用 php ZipArchive 类来生成一个 zip 存档。我使用 addFile 方法的第二个参数来设置存档中文件的名称(因为磁盘上的真实文件具有不同的名称)。某些名称必须包含法语口音(例如 é)。当我下载档案时,文件名中没有正确显示重音符号。我应该为文件名使用什么编码?(应用程序使用 UTF-8)
问问题
6535 次
4 回答
9
这是 php 错误 #53948,请参阅官方错误报告。
建议的解决方法(对我有用):
$zip->addFile($file, iconv("UTF-8", "CP852", $local_name));
于 2012-10-05T21:07:58.477 回答
4
使用 DOS 编码。我的文件名有西里尔字符,所以我将文件名从cp1251
(Windows) 编码到cp866
(DOS),在将文件名传递给$zip->addFile()
.
于 2012-08-16T04:30:22.923 回答
2
Zip 文件没有指定的编码;存档工具必须猜测(或假设)使用的编码。先尝试CP1252,然后再从那里开始。
于 2011-02-15T15:03:22.423 回答
0
取决于 Windows 系统,例如法语,Windows 的内部 zipIBM850
用作编码。
于 2020-07-20T03:43:24.300 回答