ダウンロードしたZipファイルが文字化けする原因と解決策-主にWindows

NipoPlusの一括CSVダウンロードを使ってレポートのデータをZip形式でダウンロードすると、特定の環境では文字化けを起こすことがあります。

ZIPファイルをダブルクリックで開くと文字化けしてしまう
ZIPファイルをダブルクリックで開くと文字化けしてしまう

全て半角英数字のみで作成されたファイル名は文字化けしませんが、それ以外のファイル名は全て文字化けしています。 一応補足しておくと文字化けしてもCSVファイルはエクセルなどで開くことができます。しかしこれではどのファイルがどれを指しているのか全くわからず、不便なので問題を解決しましょう。

WindowsでZIPを解凍すると文字化けする原因はLhaPlusや+Lhacaを使用しているため

文字化けの原因は解凍に使用しているソフトがUTF8という文字コードに対応していないことが原因です。長い間メンテナンスがされていない解凍ソフトは、今の時代主流となりつつあるUTF8という 文字コードに対応しておらず、昔ながらのSHIFT-JISしか対応していないソフトがあります。 筆者が確認できたものでは、次のソフトは文字化けします

いずれのソフトも長い間メンテナンスがされておらず、UTF8という文字コードに対応していません。 Windowsが一強の時代であればSHIFT-JISが利用できれば問題が有りませんでした。しかし今の時代はスマートフォンやタブレット、MacOSなどの勢力拡大が顕著です。Windows以外の多くはUTF8を利用しているため、SHIFT-JISしか使えない解凍ソフトは時代の流れとともに、その役目を終えようとしています。 しかし役割を終えつつも知名度が高いため、PCを購入したらまずインストールしてしまったりしていませんか?

キャラクター

昔からWindowsを使ってる人は条件反射的にLhacaやLhaplusを入れてしまうので注意です。当時は何でも解凍できて便利でした。

WindowsでZipファイルを文字化けせずに解凍する方法(Windows10の場合)

原因が文字コードにあることはわかりましたので、解決は簡単です。つまりUTF8の文字コードに対応した解凍ソフトを使えばよいのです。 Windows10であればWindows10自体がZIPの解凍機能を備えています。この標準の解凍機能はもちろんUTF8にも対応しているため、文字バケは発生しません。

ZIPファイルを開く時、標準のエクスプローラーで開くように関連付けをしてあげましょう。

  1. zipファイルを右クリック
  2. プログラムから開くをポイントする
  3. 別のプログラムを選択をクリック
  4. 「常にこのアプリを使って.zipファイルを開く」にチェックを入れる
  5. エクスプローラーを選択してOKをクリック
ZIPファイルを開くときに使用するソフトを変更する
ZIPファイルを開くときに使用するソフトを変更する
関連付けの設定画面。エクスプローラーではなくUTF8に対応した解凍ソフトを指定しても良いです。
関連付けの設定画面。エクスプローラーではなくUTF8に対応した解凍ソフトを指定しても良いです。

これで.zipファイルを見つけると、Windows標準のエクスプローラーで開くようになります。この設定でzipファイルのアイコンも変わったはずです。 さて、これでZipファイルを開いてみましょう。

Windows標準のエクスプローラーで解凍ができました
Windows標準のエクスプローラーで解凍ができました

UTF8に対応した解凍ソフトを使用する

もう一つの解決方法として、UTF8に対応した解凍ソフトを使用する方法があります。UTF8に対応しているソフトとしては次のようなソフトがあります。

例えば7Zipをインストールし、前述したような手順で.zipを7Zipで解凍するように関連付けをしてあげることで.zipのファイルアイコンが7Zipのアイコンに変わります。

7Zipに関連付けをし、Zipファイルを開いたところの画面。画像からも文字化けが解消していることが確認できます
7Zipに関連付けをし、Zipファイルを開いたところの画面。画像からも文字化けが解消していることが確認できます

エクセルの中身自体が文字化けした場合

Excel2007以前のように古いエクセルを使用している場合、CSVファイルを開くと無条件でSHIFT-JISの文字コードとして読み込みを行います。 前述したようにNipoPlusはUTF8を使用しているため、古いエクセルでCSVファイルを開くと文字化けが発生してしまいます。 この場合は開き方を少し工夫し、UTF8として開くことで文字化けの回避が可能です

データタブをクリックし、外部データの取り込みから「テキストファイル」を選択する
データタブをクリックし、外部データの取り込みから「テキストファイル」を選択する
テキストファイルウィザードが起動。元のファイルの文字コードを「Unicode(UTF-8)」にします
テキストファイルウィザードが起動。元のファイルの文字コードを「Unicode(UTF-8)」にします
区切り文字の区分で「カンマ」にチェックを入れます。
区切り文字の区分で「カンマ」にチェックを入れます。

キャラクター

2007はもう15年も前なので、可能であれば新しいExcelに買い替えを推奨します