Ich benutze PHP ZipArchive-Klasse, um eine. Zip-Datei zu extrahieren, Es funktioniert gut für Englisch, sondern verursachen Probleme in meiner lokalen Sprache (THAI).Fehler beim Umbenennen einer extrahierten Zip-Datei in andere Sprachen In PHP
Ich benutze icov('utf-8','windows-874',$zip->getNameIndex($i))
, um utf-8 zu THAI zu konvertieren. Es funktioniert für Ordner/der Datei den Namen, aber für extrahiert Zip-Datei nicht funktioniert und diesen Fehler verursachen:
iconv(): Erkannte ein unzulässiges Zeichen in Eingabestring
Kann jemand bitte sagen Ich, was ist das Problem hier?
Mein PHP-Code
$file = iconv('utf-8', 'windows-874', $_GET['File']);
$path = iconv('utf-8', 'windows-874', $_GET['Path']);
$zip = new ZipArchive;
if ($zip->open($file) === TRUE) {
// convert to Thai language
for($i = 0; $i < $zip->numFiles; $i++) {
$name = $zip->getNameIndex($i);
//echo iconv("charset zip file", "windows-874", $name);
//$zip->extractTo($path,$name); -> this problem
}
$zip->close();
echo json_encode('unZip!!!');
} else {
echo json_encode('Failed');
}
Nachdem ich die ZIP-Datei zu extrahieren, Der Name der Datei ist nicht das, was ich für sie festgelegt.
Dies ist der Name ich versuche zu setzen: meine ZIP-Datei
hier:
https://www.dropbox.com/s/9f4j04lkvsyuy63/test.zip?dl=0
UPDATE
ich die Datei in Windows XP versucht unzipping, es funktioniert gut dort aber nicht in Windows 7.
Niemand kann sagen, wenn Sie nicht zeigen, was die Zeichenfolge tatsächlich enthält. (ZIP-Dateien sind eigentlich nicht für die Unterstützung von Unicode bekannt. Die meisten Tools verwenden nur lokale Zeichensätze asis.) – mario
Wo ist der Code, den Sie zum tatsächlichen Extrahieren des Inhalts verwenden? Können Sie ein minimales Beispiel einer ZIP-Datei hochladen, die den Fehler irgendwo anzeigt (nachdem Sie den Code hinzugefügt haben, den Sie zum Extrahieren des Inhalts verwenden)? – MatsLindh
aber es ist nicht besser, das "THAI" mit "utf8" trotzdem zu bearbeiten? Was ist die Notwendigkeit, es in 'Windows-874' zu konvertieren? –