Linux日本語ファイル名文字化け
Linuxで日本語ファイル名が文字化け
Linuxで日本語ファイル名が文字化けしました。
発生時の操作としては以下のような感じです。
- Windowsで日本語ファイル名をzipファイルにする。
- WinSCPでLinuxへzipファイルをコピーする。
- Linux unzipコマンドでファイルを解凍する。
WinSCPでファイルを一つずつコピーすれば問題ないのですが、なんで文字化けするのか調べてみると、zip化するときのファイル名文字コードの問題。そりゃそうか。
でもLinuxからWindowsへコピーするときは問題ないけど、それはさておき文字化けしたファイル名をどう処置すべきか。
文字化けファイル名を変換する
SJISファイル名が文字化けしたことによる対処はいくつかあるようで、シェルスクリプトを使った方法で試したところ、うまくいかない。配布されているコマンドや自作のスクリプトを公開してくれているのもありましたが、前者は諸事情で使いたくなく、後者にしてもそのままだと動作せず、デバッグしている時間がない。結局、Linux上でファイル名を変換するのは断念しました。
WindowsでUTF-8ファイル名を扱う
そもそも、LinuxからWindowsへzipファイルを持ってきても文字化け問題は発生しないからWindowsからLinuxへ持って行こうとしたので、何か見落としている感じ。
ちょいと考えて、Linuxで作ったzipファイルをエクスプローラで開くと文字化けしている!!7-Zipを常用していたので誤解していたことが原因でした。とすると、7-ZipはUTF-8を扱えるってことか。
ここまでくるとほぼ完了で、7-ZipによるUTF-8ファイル名作成方法を調べると、圧縮時のパラメータにcu=onを入れれば良いことがわかり、無事解決。
コメント
コメントを投稿