「Windows から受け取ったテキストファイルを開いたら記号だらけ」「ZIPを展開したらファイル名が壊れた」——Macで発生する文字化けの原因はほぼすべて文字エンコーディングの不一致です。macOSはUTF-8を標準としていますが、Windowsの旧来の日本語ファイルはShift_JIS(CP932)が多く、双方が異なるルールで文字を解釈すると文字化けが起きます。本記事では macOS Sonoma / Sequoia を対象に、Apple Silicon(M1/M2/M3/M4)と Intel Mac の両方で使える対処法を症状別に整理し、ターミナルやOffice for Macの固有問題まで網羅します。Macのトラブル対処法まとめも参考にしてください。
目次
- 文字化けの仕組み:エンコーディングの不一致
- まず切り分け:症状のパターン
- テキストファイル(.txt / .csv)の文字化け
- ZIPファイル展開時のファイル名文字化け
- PDFからのコピペが文字化け
- メール文字化けの対処
- ターミナル / コマンドラインの文字化け
- Office for Mac(Excel / Word)固有の問題
- ブラウザで特定サイトが文字化け
- フォント不足による豆腐(□)表示
- まとめ:試す順序チェックリスト
文字化けの仕組み:エンコーディングの不一致
文字化けとは「書いた側と読んだ側が異なるエンコーディング(文字と数値の対応ルール)を使った」ときに起きます。たとえばShift_JISで保存されたテキストをUTF-8として読もうとすると、数値の意味がまったく異なるため記号や別の文字に化けます。
macOSはUTF-8が標準、Windowsは長らくShift_JISだった
macOSは2001年のOS X(現macOS)リリース時からほぼ全体でUTF-8を採用しています。一方Windowsは、日本語環境では従来Shift_JIS(CP932)が既定エンコーディングとされており、Windows 10 バージョン1903以降はオプションでUTF-8に変更できるようになりましたが、ビジネス環境では現在もShift_JISのファイルが多く流通しています。
macOSのテキストエディットやプレビューは自動判別を行いますが、精度は高くありません。確実に開くにはエンコーディングを指定できるアプリを使う必要があります。
エンコーディング名の早見表
| エンコーディング名 | 別称 / 識別子 | 主な用途 |
|---|---|---|
| UTF-8 | UTF8 | macOS / Webの標準。Unicode全文字を表現 |
| Shift_JIS | SJIS / CP932 / Windows-31J | Windows日本語環境の伝統的標準 |
| EUC-JP | EUC_JP | Linux / 旧UNIXの日本語環境 |
| ISO-2022-JP | JIS / JIS7 | メールの日本語(RFC準拠) |
| CP932 | Windows-31J | Shift_JISのMicrosoft拡張版。ZIPファイル名に多用 |
CP932は厳密にはShift_JISの拡張版で、Windows標準。特にZIPファイルのファイル名はCP932が使われているケースがほとんどです。
「□」(豆腐)と文字化けは別問題
画面に「□」(豆腐とも呼ばれます)が表示される場合、これはエンコーディングの問題ではなく、フォントに対象の文字が含まれていないことが原因です。エンコーディングは正しく解釈されているが、使用フォントにその字形がない状態です。特に中国語・韓国語・古い漢字・絵文字・特殊記号で頻発します。対処法はエンコーディング変換ではなくフォント追加です。詳しくは後半の「フォント不足による豆腐(□)表示」のセクションで解説します。
まず切り分け:症状のパターン
文字化けが発生したとき、どのアプリで・どのファイル形式で起きているかを最初に確認します。症状ごとに原因と対処が異なるため、早見表で自分のケースを見つけてから対応するセクションに進んでください。
症状別の早見表
| 症状 | 主な原因 | 対処セクション |
|---|---|---|
| .txt / .csv を開いたら記号だらけ | Shift_JIS / EUC-JP ファイルをUTF-8で開いている | テキストファイルの文字化け |
| ZIPを展開したらファイル名が壊れた | CP932ファイル名をmacOSのアーカイブユーティリティが誤変換 | ZIPファイルの文字化け |
| PDFからコピペすると文字化け | フォント埋め込み・エンコーディングの問題 | PDFの文字化け |
| メール本文・件名が化けている | ISO-2022-JP / Shift_JIS の自動判別失敗 | メールの文字化け |
| ターミナルの日本語が壊れる | LANG / LC_ALL 環境変数の未設定 | ターミナルの文字化け |
| Excelで開いたCSVが化ける | Excel for MacがShift_JIS前提で読む | Office for Macの問題 |
| 特定Webサイトだけ化ける | ページのHTMLエンコーディング宣言ミス | ブラウザの文字化け |
| 画面に□が表示される | フォント不足(エンコーディングではない) | フォント豆腐の対処 |
テキストファイル(.txt / .csv)の文字化け
macOSのテキストエディットはShift_JISの自動判別が弱く、文字化けが起きやすいアプリです。Shift_JISやEUC-JPのファイルを扱うには、エンコーディングを明示的に指定できるエディタに切り替えるのが最も確実です。
CotEditorでエンコーディング指定して開く
CotEditorは日本語対応の無料テキストエディタで、App Storeから入手できます。Shift_JIS / EUC-JP などのファイルを開く際にエンコーディングを指定でき、変換保存も可能です。
- App Store で「CotEditor」を検索し、インストールする
- 文字化けしたファイルを CotEditor でドラッグ&ドロップして開く
- ウィンドウ下部のステータスバーに現在のエンコーディングが表示される
- エンコーディング名をクリック → 一覧から「日本語(Shift_JIS)」または「日本語(EUC-JP)」を選択する
- 「エンコーディングで再度開く」を実行すると正しく表示される
- UTF-8に変換して保存したい場合は、ファイル → 別名で保存でエンコーディングを「Unicode(UTF-8)」に指定する
CSVファイルの場合は、UTF-8に変換してから Numbers や Excel で開くと文字化けが解消します。
Visual Studio Codeの「Reopen with Encoding」
Visual Studio Code(無料)はエンコーディング変換機能が強力です。開発者でなくても文字化け対処に使えます。
- VS Code でファイルを開く(文字化けした状態でよい)
- ウィンドウ右下のステータスバーに表示されているエンコーディング名(例:UTF-8)をクリックする
- コマンドパレットが開くので「Reopen with Encoding」を選択
- 一覧から「Japanese (Shift JIS)」または「Japanese (EUC-JP)」を選択すると正しく表示される
- UTF-8 で保存し直したい場合は、同じステータスバーをクリック →「Save with Encoding」→「UTF-8」を選択
miエディタを使う
mi(エムアイ)は長年Mac向けに開発されてきた日本語テキストエディタです。ファイル → 文字コードを指定して開くから文字コードを選べます。Shift_JIS / EUC-JP / UTF-8 の相互変換が簡単にできます。CotEditor・VS Code のどちらも好みでない場合の代替として活用できます。
ZIPファイル展開時のファイル名文字化け
macOS標準のアーカイブユーティリティ(ダブルクリックで動くZIP展開ツール)は、CP932(Shift_JIS)でエンコードされたファイル名を正しく処理できないという既知の制限があります。Windowsで作成されたZIPファイルのファイル名がほぼ確実に文字化けします。
The Unarchiverで自動検出
The Unarchiverは無料のアーカイブ展開アプリで、App Storeから入手できます。CP932を含むさまざまなエンコーディングを自動検出して正しく展開します。
- App Store で「The Unarchiver」を検索し、インストールする
- ZIPファイルを右クリック →「このアプリケーションで開く」→「The Unarchiver」を選択
- 展開先フォルダを指定して展開する
- 今後すべてのZIPを The Unarchiver で開くには、ZIPファイルを右クリック →「情報を見る」→「このアプリケーションで開く」→「The Unarchiver」→「すべてを変更」をクリックする
MacWinZipperで相互運用
Windows と Mac の双方で文字化けしないZIPを作成したい場合は、MacWinZipperが有効です。Mac で作成したZIPがWindows側で文字化けする問題(逆方向)も含めて対処できます。ファイルをWindowsの担当者に送る機会が多い場合は、ZIPの作成にMacWinZipperを使うことを習慣にするとトラブルが減ります。
コマンドラインでCP932指定展開
ターミナルが使える場合、unzipコマンドに-O cp932オプションを付けることでCP932ファイル名のZIPを正しく展開できます。
- ターミナル(アプリケーション → ユーティリティ → ターミナル)を開く
- 以下のコマンドを実行する(/path/to/archive.zipは実際のファイルパスに変更):
unzip -O cp932 /path/to/archive.zip -d ~/Desktop/output/
ただし、macOS標準のunzipはバージョンによって-Oオプションに対応していない場合があります。その場合は Homebrew 経由で最新の unzip をインストールするか、The Unarchiver を使う方が手軽です。
PDFからのコピペが文字化け
PDFの文字化けは、フォントの埋め込み方式とUnicode対応の問題に起因します。特に古いPDFや印刷会社が作成したPDFでは、テキストの「見た目の字形」とコピペで取れる「文字コード」が一致しないことがあります。
プレビュー.appのテキスト抽出を再実行
macOS Sonoma / Sequoia のプレビュー.appには機械学習ベースのOCR(文字認識)機能が搭載されています。フォント埋め込みの問題でコピペが文字化けする場合、ライブテキスト機能が助けになることがあります。
- プレビュー.appでPDFを開く
- 文字化けしているページで、テキスト選択ツール(ツールバーのカーソルアイコン)を選ぶ
- コピペしたいテキストを選択してコピーする
- それでも文字化けする場合は、「ツール」→「テキストの選択」→テキストを選択してライブテキストとして認識させる
スキャンして作成したPDFは元々テキストデータがなくOCRが必須です。プレビュー.appのライブテキストがうまく機能しない場合は、Adobe Acrobat Readerを試してください。
Adobe Acrobat Readerで再認識
Adobe Acrobat Reader(無料)はツール → テキストを編集からテキスト認識を再実行できます。プレビュー.appより認識精度が高いケースがあります。
- Adobe Acrobat Reader をインストールしてPDFを開く
- メニューバーの「ツール」→「テキストと画像を編集」をクリック
- Acrobatがテキスト認識(OCR)を実行するか確認のダイアログが出る場合は許可する
- 再認識後、テキストを選択してコピーすると文字化けが解消する場合がある
それでも文字化けが続く場合は、PDFの作成元にテキスト埋め込み方式の確認を依頼するか、フォントの再埋め込みを求めるのが根本解決です。
メール文字化けの対処
日本語メールの文字化けは、ISO-2022-JP(いわゆるJISコード)やShift_JISで送られたメールを受信側が誤判別した場合に起きます。また一部のメーラー(特に古いOutlook)がエンコーディング宣言なしで送信するケースもあります。
Appleメールのエンコーディング手動切替
Appleメール(Mail.app)は多くのケースで自動判別しますが、失敗した際はエンコーディングを手動で切り替えられます。
- 文字化けしたメールを選択して開く
- メニューバーの「メッセージ」→「テキストエンコーディング」にカーソルを合わせる
- サブメニューから「日本語(ISO-2022-JP)」「日本語(Shift JIS)」「日本語(EUC)」を順番に試す
- 正しく表示された設定を選ぶ
なお Gmail の Webブラウザ版は自動判別の精度が高く、Mail.appより文字化けしにくい傾向があります。Mail.app での判別がうまくいかない場合はGmailのブラウザ版で同じメールを確認してみるのも有効です。
Outlook for Macの文字化け
Outlook for Macは特定バージョンで日本語エンコーディングの処理に問題が出ることがあります。受信メールが文字化けする場合の対処法:
- Outlookのアップデートを確認し、最新バージョンにする(ヘルプ → 更新プログラムの確認)
- 文字化けが特定の送信者から届くメールだけで起きる場合、送信者に再送信を依頼し、文字コードをUTF-8に指定してもらう
- Windows版Outlookから再送信してもらうと改善するケースがある
- どうしても解決しない場合はGmailブラウザ版で同じアカウントを開いて確認する
ターミナル / コマンドラインの文字化け
ターミナル(Terminal.appおよびiTerm2)で日本語が「?」や「□」に化けたり、文字数カウントがずれる場合はロケール(言語・エンコーディング設定)の問題です。
LANG環境変数をUTF-8に設定する
macOSのzsh(デフォルトシェル)では、LANGとLC_ALL環境変数がUTF-8に設定されていないと日本語の表示・入力がおかしくなることがあります。
- ターミナルを開いて現在の設定を確認する:
locale
- LANG=ja_JP.UTF-8と表示されない場合は、~/.zshrcを編集して以下を追記する:
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
- ターミナルを再起動するか、source ~/.zshrcを実行して設定を反映する
ターミナルアプリ自体の文字エンコーディング設定も確認します。Terminal.appでは「設定」→「プロファイル」→「詳細」→「文字エンコーディング」が「Unicode(UTF-8)」になっているかを確認してください。
SSH接続先のロケール確認
SSHで接続したLinuxサーバー上で日本語が文字化けする場合、接続先サーバーのロケールを確認します。
- SSH接続後にlocaleコマンドを実行する
- LANG=ja_JP.UTF-8でない場合はサーバー管理者に設定を依頼するか、セッション内でexport LANG=ja_JP.UTF-8を実行する
- Macからのロケール転送が問題になる場合は、~/.ssh/configにSendEnv LANG LC_*の行があると確認し、サーバー側の/etc/ssh/sshd_configでAcceptEnvが設定されているかを確認する
tmux / screenの文字化け設定
tmuxやscreenを使っていると、これらが独自のエンコーディング処理を行うために日本語が化けることがあります。
- tmux:~/.tmux.confにset -g utf8 on(古いバージョン)またはtmux -uフラグを付けて起動する(最近のtmuxはUTF-8デフォルト)
- GNU screen:~/.screenrcにdefutf8 onを追記するか、screen -Uで起動する
Office for Mac(Excel / Word)固有の問題
Microsoft Office for Mac は Windows 版との互換性を意識して作られていますが、文字エンコーディングの扱いで Windows 版と挙動が異なる部分があります。
CSVをExcel for Macで開くと文字化けする
Excel for MacはCSVファイルを開く際にShift_JIS(CP932)を前提としていることが多く、UTF-8のCSVを直接ダブルクリックで開くと日本語が化けることがあります。逆に、Windowsから受け取ったShift_JISのCSVをmacOS上のテキストエディタでUTF-8変換せずにExcelで開いても問題が起きます。
確実に文字化けなく開く方法:
- CotEditor または VS Code でCSVをShift_JISからUTF-8(BOM付き)に変換して保存する
- 変換後のCSVをExcel for Macで開くと正しく表示される
または、Apple NumbersでCSVを開くと自動判別の精度が高く、文字化けが起きにくいです。Numbersで開いて確認し、必要であれば編集後に「CSV形式で書き出す」ことで後続作業に使えます。
CSVエクスポートを行うWebサービスやツールがUTF-8でCSVを出力している場合は、Excel でインポート機能(データ → テキストまたはCSVから)を使い、ファイルの区切り文字とエンコーディングを手動で指定する方法も有効です。
Wordの旧.docファイルが文字化け
Word 97–2003形式(.doc)のファイルをWord for Macで開いた際に文字化けが起きる場合、ファイルに埋め込まれた文字エンコーディング情報が現行のWord for Macで正しく処理されないことがあります。
- LibreOffice(無料)を使って.docファイルを開く。LibreOfficeはエンコーディング指定ダイアログが出る場合があり、「日本語(Shift JIS)」を選択することで正しく開けるケースがある
- LibreOfficeで開けたら「ファイル → 名前を付けて保存」→「.docx」形式で保存し直し、Word for Macで開き直す
- Googleドキュメントに.docをアップロードして内容を確認するのも代替手段として有効
ブラウザで特定サイトが文字化け
現在のWebブラウザは基本的に自動でエンコーディングを判別するため、文字化けはほとんど起きません。しかし、ウェブサイト側がHTMLの<meta charset>宣言を誤っているか省略している場合に、ブラウザが誤ったエンコーディングを適用して文字化けすることがあります。
Safariでテキストエンコーディングを手動指定
Safari(macOS版)ではテキストエンコーディングメニューが隠し機能として残っています。
- Safariのメニューバーを確認し、「表示」メニューを開く
- 「テキストエンコーディング」項目が表示されない場合は、ターミナルで以下を実行して隠しメニューを有効化する:
defaults write com.apple.Safari IncludeInternalDebugMenu 1
- Safariを再起動し、メニューバーに「開発」→「テキストエンコーディング」が追加されるので、「日本語(Shift JIS)」などを試す
Chromeに拡張機能「Charset」を追加
Google Chromeは標準ではエンコーディング切替UIがありませんが、Chrome拡張機能の「Charset」を使うと任意のエンコーディングを手動で指定できます。
- Chrome ウェブストアで「Charset」を検索してインストールする
- 文字化けしたページを開いた状態で拡張機能アイコンをクリック
- エンコーディング一覧から「Shift_JIS」または「EUC-JP」を選択すると、ページが再読み込みされて正しく表示されることがある
なお、Firefoxは「表示 → テキストエンコーディング」メニューが標準搭載されており、追加設定なしでエンコーディングを手動指定できます。文字化けしたサイトを閲覧する機会が多い場合はFirefoxが便利です。
フォント不足による豆腐(□)表示
「□」が表示される場合はエンコーディングの問題ではなく、そのコードポイントに対応するグリフ(字形)が使用フォントに存在しない問題です。日本語テキストが正しく読めているにもかかわらず特定の文字だけ□になる場合がほとんどです。
中国語・韓国語フォントを追加インストール
macOSにはHiragino Sans(ヒラギノ角ゴ)とHiragino Mincho(ヒラギノ明朝)が標準搭載されており、日本語の常用漢字はほぼカバーされています。しかし繁体字中国語・簡体字中国語・韓国語ハングルの文字が含まれているテキストでは□が表示されます。
対処法:関連言語のフォントをシステムに追加することで解決します。
- システム設定 → 一般 → 言語と地域を開く
- 「優先する言語」の「+」ボタンをクリック
- 「中国語(簡体字)」「中国語(繁体字)」または「韓国語」を追加する
- 再起動を求められたら再起動する
- 追加言語に対応するフォントが自動でインストールされ、□が解消される
言語設定を変更したくない場合は、フォントブック.appから個別にフォントをインストールする方法も選べます。
Noto Sans CJKで対処する
Noto Sans CJK(Google製・オープンソース)は日本語・中国語・韓国語を網羅したフォントで、ほぼすべてのCJK統合漢字をカバーします。非常に広いUnicode範囲をカバーするため、特定の文字が□になる問題に対して根本的な対処となります。
- Google Fonts(fonts.google.com)またはGitHub(notofonts/noto-cjk)からNoto Sans CJKをダウンロードする
- ダウンロードしたフォントファイル(.otfまたは.ttc)をダブルクリックする
- 表示されたウィンドウで「フォントをインストール」をクリックする
- インストール後、アプリを再起動すると対象フォントが使えるようになる
なお、特定のアプリで□が表示される場合はそのアプリ内のフォント設定も確認してください。たとえばターミナルやVS Codeでは、設定でフォントをNoto Sans CJK JP Regularなどに変更することで日本語表示が改善します。
まとめ:試す順序チェックリスト
Macの文字化けに対処する推奨順序です。症状別のセクションと合わせて使ってください。
- 「□(豆腐)」か「文字化け(記号)」かを区別する——豆腐はフォント問題、記号はエンコーディング問題
- テキスト・CSVの文字化け → CotEditor または VS Code でエンコーディングを指定して開き直す
- ZIP展開後のファイル名文字化け → The Unarchiverをインストールして展開する
- PDFのコピペが文字化け → プレビュー.appのライブテキスト / Adobe Acrobat ReaderでOCR再実行
- メールが文字化け → Mail.appの「メッセージ → テキストエンコーディング」で手動切替
- ターミナルの日本語が壊れる → ~/.zshrcにexport LANG=ja_JP.UTF-8を追加
- Excel / Wordの文字化け → CotEditorでUTF-8(BOM付き)に変換 / LibreOfficeで開き直す
- ブラウザの文字化け → Safari の開発メニュー / Chrome拡張「Charset」でエンコーディングを手動指定
- □(豆腐)が出る → システム設定 → 言語と地域から該当言語を追加 / Noto Sans CJKをインストール
多くのケースはCotEditor・The Unarchiver・VS Codeのどれかで解決します。Macのトラブル全般については Macのトラブル対処法まとめ | 症状別に解説もあわせてご覧ください。


