ZIPファイルのファイル名の文字化け問題
背景
ZIPファイルを展開すると、ファイル名が文字化けしていることがある。これどうにかならない?
調べたいこと
いまどきはOSのファイル名はUTF-8でないのか?
ZIPでアーカイブする時ににファイル名をUTF-8に変換することはは可能なのか?
最近Qiitaに解説があったので、そこを読んだが正確(実はまだ読んでない?)
Mac作成のZIP、Windowsで文字化けする原因はUTF-8フラグ ~ macOS は標準規格に準拠しろ! #zip - Qiita
ToDo
ファイル名の文字コードはどうやって調べるの?
MacとWindowsだけでなく、iOSやAndroidも要確認か?
①をUTF-8(?)で入力することは可能か?
Macでアーカイブした時に、.DS_Store等のファイルをいれたくない問題
フォルダ単位ではなく、ファイル単位で解決?
GoogleドライブやOneDriveだとどうなのか?
なんとなくわかってきたこと
Windowsではファイル名がShift_JIS になる。
Madではファイル名がUTF-8 になる。
さらにNFD正規化
Windowsで作成したZIPファイルを、Macで展開することはできる。但し機種依存文字が文字化けする(Shift_JISなので)
Macで作成したZIPファイルを、Windowsで展開すると文字化けする。UTF-8と判断してくれない。
これはMacの作成したZIPファイルが、UTF-8フラグを有効にしてないため。
GoodleドライブのファイルをZIPファイルとしてダウンロードすると、ちゃんとUTF-8フラグがついてる。
MacでもWindowsでも文字化けしない
正しくZIPを取り扱えるアプリを双方で使えば問題無し?
Macの場合、フォルダごとZIP圧縮する場合には、.DS_Storeファイルの問題は別に考える必要がある。
zip コマンドでutf-8を扱えるっぽいが...(未検証)
ググってみた結果(あとでまとめる)
ファイル名・フォルダ名の文字化けについて - TMUNER
MacOS環境からWindows環境へファイルを横断する際に発生する文字化け問題について – サンエイ スタッフブログ
WindowsとMac間でzipファイルを文字化けせずに解凍する方法 | 出張パソコン修理,データ復旧,インターネット設定,パソコンサポート,ITサポートなら株式会社とげおネット/東京,神奈川,埼玉,千葉
文字化けしたファイル名を修正する(Mac→Windows)|ゆう@CADMANIA|note
ターミナルによる文字コードの調査
ZIP中のファイル名の文字化け - tmtms のメモ
2007年にZIPフォーマットは拡張されてファイル名がUTF-8であることを示すフラグが追加されました。 ということは、現代においてはZIP作成時にファイル名の文字コードをUTF-8にしてこのフラグを立てれば文字化けはしないはずなのです。
zipがUTF8ファイル名のフラグがついているかどうかを確認したい - Qiita
$ zipinfo -v attachments.zip
ということで、Gmailの添付ファイルの一括ダウンロードは、MacでもWindowsでも大丈夫なように、UTF8 path nameってやつに対応していましたってことが分かる。
お願いです,Macの標準機能でファイルを圧縮するのはやめてください:新刊ピックアップ|技術評論社
ZIP 書庫ファイルに格納されたファイルの名前の文字化け - Mac/Win環境共通 - iMac端末 - FAQ - ECCS Tutor's page
zipファイルのutf-8フラグ - 清水川のScrapbox
zipfileで非utf-8ファイル名のファイルを解凍するための最小限のハック (#1468698) | 「Python 3.0」リリース、仕様変更多数 | スラド
[zipの解凍&圧縮時にファイル名が文字化けする原因と解決方法 | サービス | プロエンジニア
ZIP (ファイルフォーマット) - Wikipedia
ZIP の UTF-8 オプション - PKWARE PKZIP/SecureZIP : XLsoft エクセルソフト
UNICODE ZIPに対応した圧縮/解凍ソフトについて - Qiita
ZIPの仕様を日本語でまとめる
general purpose bit flag
Bit 11: ファイルエンコーディングのためのフラグ。これが立っているとき、コメントやファイル名の文字コードはUTF-8とする。
[ https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT]
APPENDIX D - Language Encoding (EFS)
D.2 If general purpose bit 11 is unset, the file name and comment SHOULD conform
to the original ZIP character encoding. If general purpose bit 11 is set, the
filename and comment MUST support The Unicode Standard, Version 4.1.0 or
greater using the character encoding form defined by the UTF-8 storage
specification. The Unicode Standard is published by the The Unicode
Consortium (www.unicode.org). UTF-8 encoded data stored within ZIP files
is expected to not include a byte order mark (BOM).
Windows10でZIPやRARを解凍するとファイル名が文字化けする時の対処法!
「._」や「__MACOSX」ファイルは消していい?その正体と対策 | Mac Fan Portal
#ZIP
#UTF-8
#Unicode
#ファイル名
#文字化け
#機種依存文字