Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie kann das Problem verstümmelter Zeichen beim Dekomprimieren von Zip-Dateien unter Linux gelöst werden?

Wie kann das Problem verstümmelter Zeichen beim Dekomprimieren von Zip-Dateien unter Linux gelöst werden?

零下一度
零下一度Original
2017-07-18 14:02:102244Durchsuche

Da das Codierungsformat im Zip-Format nicht angegeben ist, lautet die Codierung in den unter Windows generierten Zip-Dateien GBK/GB2312 usw. Daher weisen diese Zip-Dateien beim Dekomprimieren unter Linux verstümmelte Zeichen auf, da die Standardcodierung unter Linux ist UTF8.

Im Internet kursiert derzeit eine Methode zum Entpacken von -O cp936, einige Entpacker verfügen jedoch nicht über die Option -O.

Die von mir verwendete Version, die unzip 6.0 Debian Modified Version, verfügt über diese Option

Aufgrund von Codierungsproblemen werden die chinesischen Dateien in der ZIP-Datei beim Dekomprimieren unter Linux verstümmelt angezeigt

Wenn Sie Archlinux verwenden, installieren Sie unzip-natspec mit AUR, um dieses Problem zu lösen.

Verwenden Sie zu diesem Zeitpunkt unzip xxx.zip, um die Datei korrekt zu dekomprimieren

und führen Sie sie dann aus im File-Roller-Archivmanager, Chinesisch Der Name ist immer noch verstümmelt Es wird gesagt, dass es daran liegt, dass File-Roller bevorzugt p7zip verwendet

Das Problem ist nach dem Löschen von p7zip gelöst

Jedoch, Ich möchte auch gleichzeitig das p7zip-Softwarepaket verwenden. Weiß jemand, wie man dieses Problem löst?

Laden Sie den Code hier herunter, um diese Logik zu studieren und zu finden

    /* give priority to 7z, unzip and zip that supports ZIP files better. */if ((strcmp (mime_type, "application/zip") == 0)|| (strcmp (mime_type, "application/x-cbz") == 0))
    {if (_g_program_is_available ("7z", check_command)) {return capabilities;
        }if (!_g_program_is_available ("unzip", check_command)) {
            capabilities |= FR_ARCHIVE_CAN_READ;
        }if (!_g_program_is_available ("zip", check_command)) {
            capabilities |= FR_ARCHIVE_CAN_WRITE;
        }return capabilities;
    }

Es scheint, dass es keine gute Möglichkeit gibt, außer das zu patchen Code

Endgültige Lösung, ich habe festgestellt, dass es in AUR auch ein ähnliches Softwarepaket p7zip-natspec gibt

Die Installation dieses Pakets sollte das Problem perfekt lösen, da ich das Problem mit der oben genannten Methode gelöst habe , das werde ich nicht mehr versuchen

Das obige ist der detaillierte Inhalt vonWie kann das Problem verstümmelter Zeichen beim Dekomprimieren von Zip-Dateien unter Linux gelöst werden?. 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