ファイル名の文字化け
boxでファイルをフォルダーごと一括ダウンロードしたら、zip解凍の際にファイル名が文字化けしました。
明らかに解凍時のエンコードの問題なのですが、シンプルに答えにたどりつけなかったので、備忘録です。
解決方法は、文字コードを意識しなくてもよい解凍ソフトを使うことです。
今回の原因が、boxが使っている圧縮ソフトの何某なので。。それはのちほど。
解決策
文字コードに気を遣ってくれるアーカイバ(圧縮解凍ソフト)を使います。
導入するしかないです。
安心感があるのは、CubeSoftのCube ICE(無料)でしょうか。。
本家boxのFAQでも推奨しています。
加えて、われわれともだちひろばのチラシ(ブログ掲載用)づくりでも使っているCube PDFの会社さんみたいなので。
最終的な導入判断は自己責任でお願いします。
今回の事象
boxから、複数フォルダーに分かれた複数ファイルをダウンロードしLhaplusで解凍したところ、フォルダー名とファイル名が文字化けしました。
ファイルの中身は無事でした。また、文字化けした様子を見ると、日本語部分のみ文字化けているように見えました。
事象発生のローカル環境は以下のとおりです。
- OS: Windows 10 Pro(32ビット)
- ブラウザ: Chrome 50、Internet Explorer 11(両方とも)
- アーカイバ: Lhaplus v1.73(DLL追加なし)
原因
boxでファイルとフォルダーを圧縮する際の文字コードと、ローカルで解凍する際の文字コードが異なっているためです。
特に、Windows7やWindows Server 2008 R2で発生する、とboxのQ&Aにはありますが、Windows10 Proでも同様の事象が発生しました。
おそらくですが、box側はUnicode(UTF-8)で圧縮していて、Windows側(のLhaplus)ではShift-JISか何かで解凍しようとしているものと思われます。
MacやLinuxで圧縮したファイルをWindowsで解凍すると、同じようなことが起こりますよね。。
ずっと以前から愛用していたLhaplusを使用して、今回の問題が発生してしまいました。
すぐに文字コードが原因だと分かったのですが、Lhaplusでは文字コードを指定できないようなので遠回りしてしまいました。
アーカイバが増えてしまいましたが仕方ないです。Cube ICEへの全面乗り換えも検討します。。
コメント