気ままに更新しています。 先日、Macユーザーの方から送っていただいたZIPファイルを解凍すると文字化けしてしまい、LhaPlusでも7zipでもうまくいかないということがありました。 インターネットで調べたら文字コードの問題ということで、Linuxで解...
気ままに更新しています。
先日、Macユーザーの方から送っていただいたZIPファイルを解凍すると文字化けしてしまい、LhaPlusでも7zipでもうまくいかないということがありました。
インターネットで調べたら文字コードの問題ということで、Linuxで解凍したらうまくいきそうな雰囲気を感じて自分が借りているレンタルサーバーにFTPでアップロードして、PHPスクリプトで解凍したところ文字化けせずに解凍できたので、手順を記録しておきます。
しかしながら、この方法はレンタルのWebサーバーを使うので、機密情報や人に見られては困る情報を含むファイルには適していません。また、ご自身では重要度が低いと感じられる情報を扱う時にも、Basic認証をかけたディレクトリを使って作業するなど、丸見え状態で作業しないことをおすすめします。
本記事に基づく操作等はご自身の責任において実行してください。筆者は責任を負いません。
手順
- スクリプトを用意します。
下記スクリプトをテキストエディタにコピーして、「foo.zip」を実際のファイル名に変更します。テキストエディタで、拡張子.phpで保存します。
<?php $zip_file = 'foo.zip'; // 展開するzipファイルを指定 function unzip($zip_file) { return shell_exec("unzip $zip_file"); } if($zip = unzip($zip_file)) { echo "解凍成功:$zip_file"; } else { echo "解凍失敗:$zip_file"; } ?>
- 対象のZIPファイルと先ほど用意したスクリプトをを自分のレンタルサーバーの同じディレクトリにアップロードします。FileZillaを使用した場合、下記のような画面になります。
- ブラウザで先ほどのphpファイルにアクセスし、ファイルを解凍します。
解凍が成功した場合は下記のような表示になります。
-
FTPクライアントソフト(FileZillaなど)で、解凍後のファイルが文字化けしていないか確認します。大丈夫だと、普通に読める雰囲気です。
- 解凍したファイルをダウンロードし、ファイル名を確認します。
- ZIPファイル、解凍したファイルを自分のレンタルサーバーから削除する
参考にしたサイト
レンタルサーバー上でZipファイルを解凍する環境
PC:Windows10 HomeFTPクライアント:FilezZilla
レンタルサーバー:Lolipop
※事前にFilezillaのサイトマネージャの文字セットタブで、「UTF-8を強制」を選択しておきます。
WEB業界や紙媒体の業界の皆様はこういう時はどうしていますか? もっとスマートな方法があったら、ぜひ教えてください^^
COMMENTS