Claude Code

日本語ファイル名のzipが文字化けする原因は「UTF-8を指定したこと」だった

ささーち 2026-09-29 約4分で読めます

結論:日本語ファイル名のzipが文字化けした原因は、わざわざ「UTF-8で」と指定したことだった

この記事は、AIに作ってもらったzipのファイル名が化けて困っている人への原因解説です。

さーち

文字コードをきちんと指定したのに、なんで化けるの?

中身は正しいんです。足りなかったのは「UTF-8です」という荷札のほうでした。

Claude

何が起きたか

自作のアプリを、配布用のzipにまとめていました。

zipを作る作業は、Claude Code に任せています。

中には「はじめにお読みください.txt」という説明書を入れました。

ところが、開いてみると名前がこうなっていました。

入れた名前
はじめにお読みください.txt
自分でつけた、読める名前
→
見えた名前
縺ッ縺倥a縺ォ縺願ェュ縺ソ縺上□縺輔>.txt
zipを開いたときに表示された名前

説明書の名前が読めなければ、受け取った人は困ります。

お金をもらって配るものなので、このままでは出せませんでした。


原因:中身は正しく、荷札がなかった

日本語の文字をコンピューターに保存する方法は、1つではありません。

今の主流は「UTF-8」という方式です。

一方で、昔のWindowsでは「Shift_JIS」という方式が使われていました。

zipは古い形式なので、中のファイル名がどちらの方式で書かれたかを示す荷札があります。

荷札は、zipの中のたった1か所の目印です。

1

名前をUTF-8で書く

ここまでは正しく動いていた

2

「UTF-8です」の荷札を付け忘れる

目印が空のまま保存される

3

受け取った側が昔の方式で読む

荷札がないので、Shift_JISだと判断する

4

文字化けする

「縺ッ縺倥a…」になる

名前はUTF-8で正しく書かれていました。

ただ、荷札が付いていないので、開く側は昔の方式だと思って読みます。

読み方を間違えた結果が、あの記号の並びでした。

⚠️ 注意

Macだけの問題ではありません。私の環境では、Windowsのエクスプローラーで開いても化けました。


3通りで作って比べた

同じ「はじめにお読みください.txt」を、3通りの方法でzipにしました。

作ったのは Windows 11 の PowerShell 5.1 です。

作り方 「UTF-8です」の荷札 エクスプローラーでの表示
文字コードを指定しない あり はじめにお読みください.txt
UTF-8と明示して指定する なし 縺ッ縺倥a縺ォ縺願ェュ縺ソ縺上□縺輔>.txt
Windows標準のzip作成コマンド あり はじめにお読みください.txt

化けたのは、UTF-8とわざわざ指定したものだけでした。

指定しない場合は、日本語の名前を見つけると自動で荷札を付けてくれます。

ところが方式を自分で指定すると、この自動の荷札が付かなくなります。

📌 ポイント

「丁寧に指定したほうが安全」とは限りません。指定したせいで、自動でやってくれていた仕事が止まることがあります。


直し方

文字コードの指定を外すだけです。

PowerShell なら、この2行でフォルダをzipにできます。

Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory("元のフォルダ", "作るzip.zip", [System.IO.Compression.CompressionLevel]::Optimal, $false)

最後の $false の後ろに、文字コードを書き足さないのがポイントです。

Claude Code に頼むなら、こう一言添えれば伝わります。

💡 豆知識

「日本語のファイル名を含むzipを作って。文字コードは指定せず、作ったあとにエクスプローラーで名前が化けていないか確認して」


配る前の確かめ方

一番確実なのは、作ったzipを自分で一度開くことです。

ダブルクリックして、中のファイル名を目で見るだけで済みます。

作った側は、名前が正しいことを知っています。

そのため、確認しなくても大丈夫だと思い込みやすいんです。


学んだ3つのこと

✅ まとめ
  1. zipの文字化けは、中身ではなく「どの方式か」を示す荷札の問題だった
  2. 文字コードを丁寧に指定すると、自動で付く荷札が止まることがある
  3. 配るzipは、作った本人が一度開いてファイル名を目で確かめる

今後

これからは、zipを開いて確かめるまでを1つの作業にします。

アプリを更新して配り直すたびに、この確認を挟むつもりです。

自動テストに全部合格したのに見た目がズレていた話と同じで、最後は実物を見るしかありません。


最後に:自分の思い

「UTF-8で」と指定したのは、よかれと思ってのことでした。

日本語を扱うなら、きちんと指定したほうが安全だと思っていたんです。

その丁寧さが、原因そのものでした。

AIに頼むときも、自分で決めるときも、指定を足す前に一度立ち止まろうと思います。

伝えたいことは1つだけ。

配るzipは、自分で一度開いてから渡してください。


この記事も Claude Code に書いてもらいました。「結論先行・一文60文字以内・数字を使う・誰向けか明確・自分の思いで締める」の5点を意識した版です。

zip文字化けPowerShell非エンジニア失敗談

よくある質問

Q. zipを開くと日本語のファイル名が「縺ッ縺倥a」のように文字化けするのはなぜですか?
A. ファイル名はUTF-8で書かれているのに、zipの中の「UTF-8です」という目印が付いていないためです。目印がないと、開く側は昔のShift_JISだと判断して読み、記号の並びに化けます。
Q. PowerShellでUTF-8を指定してzipを作ると、なぜ文字化けするのですか?
A. 文字コードを明示すると、日本語名に自動で付く「UTF-8です」の目印が付かなくなるためです。当環境(Windows 11・PowerShell 5.1)では、指定しない場合とWindows標準のzip作成コマンドでは目印が付き、化けませんでした。
Q. zipの文字化けはMacだけで起きる問題ですか?
A. いいえ。当環境では、目印のないzipをWindowsのエクスプローラーで開いても「縺ッ縺倥a…」と化けました。Windowsで作ってWindowsで開く場合でも起きます。
Q. 日本語ファイル名のzipを配る前に、何を確認すればよいですか?
A. 作ったzipを自分で一度開き、中のファイル名が読めるかを目で確かめてください。作った本人は正しい名前を知っているため、確認を省きがちです。ダブルクリックするだけで確認できます。
続けて読む
← 前の記事
AIの使いすぎ警告が、実は15倍ズレていた — 重い会話ほど警告が出なくなる罠
次の記事 →
値下げボタンだけはAIに押させない — 任せるのは『数字を出すまで』と決めた理由
あわせて読みたい
関連記事
「毎朝6:58に起動」のはずが、実際に動いていたのは9時11分だった
#自動化#タスクスケジューラ#Windows
関連記事
AIに「7月分だけ」と頼んだら、3ヶ月分が返ってきた — エラーは1つも出ない
#AI活用#検算#データ集計
関連記事
Claude Codeが公開日を勝手に1日ズラした話 — AIが自分で作ったルールの罠
#Claude Code#非エンジニア#AI運用

コメント

記事への感想・質問・指摘など、お気軽にどうぞ。匿名(ゲスト)でも投稿できます。

← 記事一覧に戻る