linuxで作ったzipファイルをwindowsで開くと中のファイル名が文字化けしている
日本語版のwindowsのexplorerは、zip圧縮ファイルの中のファイル名がShift_JISだと思って開くらしい。
そのため多くの場合、名前に日本語を含むファイルをlinuxで作ったzip圧縮ファイルにすると、中のファイル名が化けていることが多い。
linux側でファイル名をSJISにしてzipファイルに圧縮してやれば、Windowsのエクスプローラーで開いても問題ない様子。
linux側でのzip圧縮ファイルの作り方
1、phpでファイルを生成するなら、をSJISでエンコードしたファイル名で作成する。
linuxではconvmvというコマンド(perlスクリプト)でファイル名を変換できる。
$ convmv -r -f utf8 -t sjis 日本語ファイル名.pdf --notest
2、linuxでzipファイルを作るなら、zipコマンドを利用して作ると楽。
/tmp/test ディレクトリに圧縮したいファイル(複数)を格納したら、次のようなコマンドでzipファイルが作成できる。
$ cd /tmp/test ; zip -r /tmp/test.zip .
3、windowsで解凍してみると、日本語ファイル名は文字化けしていない。
コメント