ホームページ  >  記事  >  運用・保守  >  Linuxでzipファイルを解凍する際に文字化けが発生する問題を解決するにはどうすればよいですか?

Linuxでzipファイルを解凍する際に文字化けが発生する問題を解決するにはどうすればよいですか?

零下一度
零下一度オリジナル
2017-07-18 14:02:102246ブラウズ

zip形式ではエンコード形式が指定されていないため、Windowsで生成されたzipファイルのエンコードはGBK/GB2312などとなります。そのため、Linuxではデフォルトのエンコードが. UTF8。

現在、インターネット上で unzip -O cp936 という方法が出回っていますが、一部の unzip には -O オプションがありません。

私が使用しているバージョン、unzip 6.0 debian 修正バージョンには、このオプションがあります

エンコーディングの問題により、Linux で解凍すると zip ファイル内の中国語ファイルが文字化けして表示されます

archlinux を使用している場合は、AUR を使用してくださいこの問題を解決するには、unzip-natspec をインストールします。 問題

現時点では、unzip xxx.zip を使用してファイル

を正しく解凍し、ファイル ローラー アーカイブ マネージャーで操作できます。中国語の名前はまだ文字化けしています。 file-roller が p7zip を優先的に使用するためだと言われました

p7zip を削除した後の問題 解決策

しかし、同時に p7zip ソフトウェア パッケージも使用できるようにしたいのですが、この問題を解決する方法を知っている人はいますか?

ここからコードをダウンロードして調べてみると、そのようなロジックが見つかりました

    /* 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;
    }

これはハードコーディングされているため、コードにパッチを当てる以外に良い解決策はないようです

最終的な解決策は、同様のソフトウェアを見つけることでした。 AURパッケージp7zip-natspecにも存在します

このパッケージをインストールすると、問題は完全に解決されるはずです。なぜなら、上記の方法を使用して問題をすでに解決しているため、これは試行しません

以上がLinuxでzipファイルを解凍する際に文字化けが発生する問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。