← すべての記事

Mac ファイル名の濁点分離・文字化けを防ぐ送信前チェックリスト

Mac ファイル名の濁点分離(「が」が「か゛」に見える現象)や文字化けを防ぎたいなら、送る前に5点だけ確認してください。Windowsで使えない記号(\ / : * ? " < > |)が入っていないか、名前の先頭・末尾に空白やピリオドがないか、全体の長さが長すぎないか、拡張子が残っているか、そして日本語・韓国語・アクセント付き文字が「合成済み(NFC)」の形で保存されているか、です。最初の4つは目で見れば分かります。5つ目はMacの画面上では見分けがつかず、だからこそ一番トラブルを生みます。この5つ目は、無料のFilenameFixerのようなツールを使えば数秒で直せます。

この記事はチェックリスト版です。Unicodeの理屈には深入りしません。メールに添付する直前、Webフォームにファイルを放り込む直前、同僚に渡すフォルダをzipにする直前に、一度ざっと流す用途を想定しています。

送信前に確認するファイル名チェックリスト

送る予定のファイルすべてに対して、次の5項目を確認します。ほとんどのファイルは数秒で通過します。

  1. 普通の文字だけにする。 文字、数字、空白、ハイフン、アンダースコア、ピリオド、丸かっこはどの環境でも問題ありません。\ / : * ? " < > | のいずれかが入っていると、Windowsは保存を拒否するか、黙って名前を書き換えます。
  2. 端に変なものを付けない。 名前の先頭や末尾に空白・ピリオドを置かないこと。Windowsは末尾の空白やピリオドを削るため、報告書 .pdf が相手側で別の名前になり、「送ったファイル名と違う」という行き違いが起きます。
  3. 短くしておく。 Windowsには、フォルダ名まで含めたパス全体で260文字という昔からの上限があります。自分のデスクトップでは開ける150文字のファイル名が、C:\Users\Taro\Downloads\2026年度 プロジェクト資料\... の中に入った途端に失敗することがあります。
  4. 拡張子が残っているか。 請求書_3月.pdf であって、請求書_3月 や 請求書_3月.pdf.txt ではないこと。macOSが拡張子を隠している場合は、Finderの「情報を見る」で確認します。
  5. 日本語などの文字が合成済み(NFC)で保存されているか。 ここが目で見えない項目です。資料が.xlsx や 보고서.xlsx、Café_メニュー.docx といった名前は、Macの画面上ではまったく同じに見えても、内部的には2通りのバイト列で保存されうる。片方はWindowsや多くのアップロードフォームで崩れます。

5項目すべて問題なければそのまま送って構いません。5番目に不安があれば、このまま読み進めてください。

Mac・Windows・Webフォームの間でファイル名が崩れる理由

OSごとにルールが違い、ファイルはその境界を日常的に行き来しています。

使えない記号

macOSは、コロン以外ならほぼ何でもファイル名に使えます(Finderで入力したスラッシュは、内部ではコロンとして扱われます)。一方Windowsは9種類の記号を明確に禁止しているほか、CON、PRN、AUX、NUL、COM1、LPT1 といった名前は拡張子の有無にかかわらず使えません。nul.txt というファイルはWindows上で作ること自体ができません。実務で出会う頻度は低いものの、第3四半期 実績: 案?.xlsx のような名前は、Macユーザーが何も考えずに付けてしまいがちです。

端の文字と長さ

Windowsは保存時に末尾の空白とピリオドを切り落とします。メモ .txt を含むzipを展開すると メモ.txt になるだけで済む場合もあれば、展開そのものが失敗する場合もあります。長いパスも同じで、上限が適用されるのは受け取る側のマシン上のフルパスであって、こちらで見えている名前だけではありません。

見えない問題:NFDとNFC(濁点が分離する正体)

サポートへの問い合わせが一番多いのがこの項目です。Unicodeでは、が という文字を1つのコードポイントとして保存する方法(合成済み、NFC)と、か に結合用の濁点 ゛ を続けて保存する方法(分解形、NFD)の両方が認められています。半濁点も同じで、パ が ハ + ゜ になります。韓国語のハングル(한 が字母の ㅎ、ㅏ、ㄴ に)や、é のようなアクセント付きのラテン文字(e + 結合アクセント)にも同じことが起きます。

macOSは昔からファイル名を分解形で書き込んできました。Mac上では正しく表示されるので、送る側は気づきません。ところがWindows、ほとんどのWebサーバー、多くのアップロードフォームは合成済みの形を前提にしています。ファイルが届いた先で起きるのは、よく見るあの症状です。

  • 資料が.xlsx の濁点がかなから離れて 資料か゛.xlsx のように見える。
  • データ_ぱ.pdf の半濁点が は゜ に分かれる。
  • 한글_보고서.pptx が ㅎㅏㄴㄱㅡㄹ_... のようにバラバラの字母になる。
  • Café_メニュー.docx の e の後ろに点や四角が付いて見える。
  • Webフォームでアップロードが拒否される、あるいは保存はされたのにデータベース上の名前と一致しなくなる。

ファイルの中身は無事です。名前だけが、受け取り側のシステムが正規化してくれない形になっているのです。

送る前にファイル名を確認して直す手順

再現できる手順を示します。1〜3は目に見える問題、4〜5はNFDの問題に対応します。

  1. 明らかなものはFinderで直す。 ファイルを選択してReturnキーを押し、\ / : * ? " < > | を削除してハイフンや空白に置き換えます。先頭・末尾の空白やピリオドも同じように取り除きます。
  2. 拡張子を確認する。 Finderでファイルを選択し、Command + I を押します。「名前と拡張子」欄で拡張子が付いていること、「拡張子を隠す」のチェックが二重拡張子のようなミスを隠していないことを確認します。
  3. 長い名前を短くする。 相手側のフォルダパスまで含めて200文字に近づきそうなら、今のうちに短くします。2026-04-15 形式の日付と短いプロジェクトコードを使えば、長くせずに並び順も保てます。
  4. 名前がNFDになっていないか調べる。 見ただけでは分かりません。手早い方法は2つあります。
    • 開発者向け:ターミナルで python3 -c "import unicodedata,sys; print(unicodedata.is_normalized('NFC', sys.argv[1]))" "$(ls | head -1)" を実行すると1ファイル分を判定できます。フォルダ全体ならループを回してください。False なら分解形です。
    • それ以外の方:無料のFilenameFixer Webアプリを開き、テキスト変換欄にファイル名を貼り付けて、出力と貼り付けた内容を見比べます。何かが変わっていれば、元の名前はNFDだったということです。
  5. NFCに変換する。 数個のファイルなら、ブラウザで開いたFilenameFixerのページにドラッグ&ドロップすれば、まとめて合成済みの形にリネームされます。処理はブラウザ内でローカルに行われ、ファイルがサーバーに送られることはありません。すでにzipにしてしまったフォルダなら、ZIPファイル名復元ツールでアーカイブ内の名前を書き換えられます(200 MBまで)。開発者なら、Pythonの unicodedata.normalize('NFC', name) やJavaScriptの str.normalize('NFC') で自分のスクリプト内で同じことができます。

手順5のあとに手順4をもう一度実行してください。今度は出力が変わらないはずです。

ツールなしで済ませる方法

内容が許すなら、ファイル名を半角英数字だけにしてしまえば問題は丸ごと避けられます。資料が.xlsx ではなく shiryo_2026.xlsx にする、日本語のタイトルはファイル名ではなく文書の中に書く、といった方法です。これは正直なところ多くの業務ファイルで有効です。ただし、ファイル名そのものがデータである場合には使えません。スキャンした身分証、提出物に付けた学生の氏名、データベースとファイル名を突き合わせるデータセットなどがそうです。

メール添付・アップロードサイト・同僚とのやり取りで気をつけること

いくつかの場面には、チェックリストに追加の1行が必要です。

メール添付。 メールソフトは基本的にファイル名を保存されたまま渡します。Macから何も確認せずに添付すると、Windows側の受信者には分解形の名前が届きます。「文字化けしている」と返信が来てから直すのではなく、添付する前にリネームか変換をしておきましょう。

Webフォームや各種ポータル。 求人応募サイト、大学の課題提出システム、行政の電子申請などは、NFDが静かに失敗を起こす場所です。アップロードは成功したように見えるのに保存された名前が崩れていたり、「ファイル名が無効です」という曖昧なエラーで弾かれたりします。アップロードの頻度が高いなら、FilenameFixerのChrome拡張機能を入れておくと、アップロード時にファイル名が自動的に変換されるので、チェックリストのこの項目を覚えておく必要がなくなります。たまに使う程度なら、事前にファイルを変換しておけば十分です。

Macを使う同僚から届いた日本語・韓国語名のファイル。 濁点が分離した状態や、ハングルがバラバラの状態で届いたなら、受け取った側で直せます。ファイルまたはzipをWebアプリに放り込んで変換すれば名前が復元されます。次回から正しい状態で届くよう、送り主にこのチェックリストを転送しておくと手間が減ります。

開発者と共有リポジトリ。 ファイルを書き出すスクリプトではファイル名をNFCに正規化し、受け取ったアップロードはサーバー側で検証してください。クライアントが合成済みの名前を送ってくることを前提にせず、NFDを拒否するか到着時に変換するフィルタを入れておくと、後々のデバッグがかなり減ります。

知っておきたい限界

ファイル名のチェックリストで防げるのは、トラブルの大半であって全部ではありません。システムによっては独自の追加ルールがあり、たとえばSharePointは設定によって # や % を拒否しますし、古いFTPサーバーは半角英数字以外をまったく受け付けないことがあります。NFCへの変換が直すのは「分解形」という問題に限られ、名前を短くしたり、禁止記号を取り除いたり、相手側ですでにおかしな名前に変えられてしまったファイルを修復したりはしません。また、どのツールであれ「このポータルなら必ず通る」とは約束できません。受け付けるかどうかは各サービスが独自に決めているからです。上の5項目を基本線にして、相手先の既知の癖をその上に足しておけば、「ファイル名が壊れています」というメールはほとんど届かなくなります。