Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn PHP ZipArchive chinesische verstümmelte Zeichen enthält?

Was tun, wenn PHP ZipArchive chinesische verstümmelte Zeichen enthält?

藏色散人
藏色散人Original
2021-05-28 09:31:052292Durchsuche

Lösung für verstümmelte chinesische Zeichen in PHP-Ziparchive: Öffnen Sie zuerst das komprimierte Paket und transkodieren Sie die internen Dateinamen und Verzeichnisse. Schließen Sie dann das komprimierte Paket nach der Transkodierung und öffnen Sie es erneut zur Dekomprimierung.

Was tun, wenn PHP ZipArchive chinesische verstümmelte Zeichen enthält?

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Lösung für das Problem chinesischer verstümmelter Zeichen beim Dekomprimieren von PHP mit ZipArchive

Verwenden Sie PHPs eigenes ZipArchive, um komprimierte Dateien zu dekomprimieren Pakete mit chinesischen Dateinamen führen zu verstümmelten Zeichen, und das Phänomen ist wie folgt:

Ursprüngliche Struktur:

 

Dekomprimierungscode:

$zip = new \ZipArchive();
$res = $zip->open('./钱学森班.zip');
if ($res !== true){    
throw new \Exception('打开压缩包失败');
}$zip->extractTo('./cache');
$zip->close();

Nach der Dekomprimierung:

 

Grund

Der Standardwert ist Windows, wann Der Mac komprimiert das Paket, die Codierung ist beim Dekomprimieren vereinfachtes Chinesisch. Das Dekomprimierungsergebnis ist aufgrund des Fehlers beim Konvertieren der Dateien nicht wie erwartet Beim Transkodieren müssen Sie das komprimierte Paket schließen und die Dekomprimierung erneut öffnen Wenn Sie die Originaldatei nicht beeinträchtigen möchten, müssen Sie sie zunächst kopieren

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP ZipArchive chinesische verstümmelte Zeichen enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn