如何解决ZipArchive 不添加带有德语变音的文件
我使用以下 ZipArchive 压缩一些文件: https://www.php.net/manual/en/class.ziparchive.php
我得到了一个不允许重命名的文件列表,但不幸的是,有些文件名包含德语变音符号,例如 ä、ö 和 ü。 file_exists("täst.pdf")
说 true
。但是当我用
$zip->addFile("täst.pdf","test.pdf");
$zip->addFile("1234.pdf","1234.pdf");
仅添加了 1234.pdf
,但未添加 täst.pdf
。
我已经尝试过使用 iconv()
,但问题仍然存在:仅添加了 1234.pdf
,没有其他任何内容。
$charsets = ["ASCII-8BIT","Big5","Big5-HKSCS","Big5-UAO","CP949","Emacs-Mule","EUC-JP","EUC-KR","EUC-TW","GB18030","GBK","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","KOI8-R","KOI8-U","Shift_JIS","US-ASCII","UTF-8","UTF-16BE","UTF-16LE","UTF-32BE","UTF-32LE","Windows-1251","GB2312","IBM437","IBM737","IBM775","CP850","IBM852","CP852","IBM855","CP855","IBM857","IBM860","IBM861","IBM862","IBM863","IBM864","IBM865","IBM866","IBM869","Windows-1258","GB1988","macCentEuro","macCroatian","macCyrillic","macGreek","macIceland","macRoman","macRomania","macThai","macTurkish","macUkraine","CP950","CP951","stateless-ISO-2022-JP","eucJP-ms","CP51932","GB12345","ISO-2022-JP","ISO-2022-JP-2","CP50220","CP50221","Windows-1252","Windows-1250","Windows-1256","Windows-1253","Windows-1255","Windows-1254","TIS-620","Windows-874","Windows-1257","Windows-31J","MacJapanese","UTF-7","UTF8-MAC","UTF-16","UTF-32","UTF8-DoCoMo","SJIS-DoCoMo","UTF8-KDDI","SJIS-KDDI","ISO-2022-JP-KDDI","stateless-ISO-2022-JP-KDDI","UTF8-SoftBank","SJIS-SoftBank","BINARY","CP437","CP737","CP775","IBM850","CP857","CP860","CP861","CP862","CP863","CP864","CP865","CP866","CP869","CP1258","Big5-HKSCS:2008","eucJP","euc-jp-ms","eucKR","eucTW","EUC-CN","eucCN","CP936","ISO2022-JP","ISO2022-JP2","ISO8859-1","CP1252","ISO8859-2","CP1250","ISO8859-3","ISO8859-4","ISO8859-5","ISO8859-6","CP1256","ISO8859-7","CP1253","ISO8859-8","CP1255","ISO8859-9","CP1254","ISO8859-10","ISO8859-11","CP874","ISO8859-13","CP1257","ISO8859-14","ISO8859-15","ISO8859-16","CP878","CP932","csWindows31J","SJIS","PCK","MacJapan","ASCII","ANSI_X3.4-1968","646","CP65000","CP65001","UTF-8-MAC","UTF-8-HFS","UCS-2BE","UCS-4BE","UCS-4LE","CP1251","external","locale"];
$i = 0;
foreach($charsets AS $charset1){
foreach($charsets AS $charset2){
$str = iconv($charset1,$charset2,"täst.pdf");
if(!empty($str)){
$zip->addFile($str,"file".$i++.".pdf");
}
}
}
$zip->addFile("1234.pdf","1234.pdf");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。