モダン UI の SharePoint Online のドキュメント ライブラリや OneDrive for Business にアップロードした Zip ファイルでは、ブラウザ上で Zip ファイルに格納されたファイルの一覧を確認でき、また、特定のファイルを選択して個別にダウンロードすることが出来ます。

そう、出来るんです。出来るのですが、日本語のファイル名が文字化けしてしまう場合があります。この回避方法をメモしておきます。

まずは現象を確認

まずは、どういった現象かを確認してみます。Windows 標準機能を利用して Zip ファイルを作成しアップロードしてみましょう。アップロードしたファイルをクリックして開くと次のように表示されると思います。

はい。中に含まれているファイル名が文字化けしてしまいます…。これは困りました。

回避方法

それではさっそく、この現象を回避するための方法についてです。

原因は Zip ファイルの文字コード

この現象が発生する原因は、Zip ファイルによる圧縮時に利用される文字コードによるものです。 そのため、このやっかいな現象を回避するためには、Zip ファイル作成時に工夫をする必要があります。

今回の現象を回避するためには、Zip ファイルの圧縮時に文字コードとして「UTF-8」を指定する必要があります。

Windows を利用している場合、文字コードに「UTF-8」を指定して圧縮を行うもっとも簡単な方法は、「7-Zip」などの対応した解凍・圧縮ソフトを利用することです。

7-Zip
https://sevenzip.osdn.jp/

僕も普段は「7-Zip」を使っています。

「7-Zip」を利用して「UTF-8」で圧縮する

「7-Zip」を利用して「UTF-8」の文字コードを指定して圧縮するには、圧縮時のダイアログ左下の「パラメータ」の設定に「cu=on」と指定します。

設定はこれだけです。このパラメータを指定した状態で Zip ファイルを作成し、先ほどと同様にアップロードして開いてみます。

今度はちゃんとファイル名が文字化けせずに表示がされました。

さいごに

原因が分かってしまえば簡単なことではあるのですが、Windows の標準機能では解決できないのが難点です。また、UTF-8 での圧縮に対応した解凍・圧縮ソフトも選択肢は多くありません。

すべての解凍・圧縮ソフトを網羅的に確認したわけではないのですが、UTF-8 での圧縮に対応しており、設定方法が目で見て分かり易いのは、今回紹介した 7-Zip ではないかと思います。

Zip ファイルは、Mac と Windows でファイルの受渡しをするときなど、過去にも文字コードの扱いに苦しめられてきました。

どうしても日本語の環境で利用する限り、文字コードの扱いには苦しめられますね…。