Outlookで届いたメールが突然文字化けし、原因も分からず本文を開くたびに肩を落としてしまうことはありませんか?
ここでは長年Windowsの設定を調整してきた経験から、エンコードの自動判定を活かす方法や送信形式の最適化など、効果が高い工程のみを厳選し、トラブルが再発しにくいコツも交えて、クリックごとの画面が想像できる手順で説明しますので、不慣れな操作でも迷わず修正できます。
ゆっくり読みながら同じ操作をたどるだけで表示が整いますので、今日のうちに設定を確認し、安心してメールのやり取りを楽しめる状態へ進んでください。
Outlookで起きる文字化けの原因を探しながら直す具体的な流れ

メールを開いたら文字が「?」や意味不明な記号に変わってしまうとドキッとしますよね。でも、ひとつずつ原因を探しながら直せば安心です。
- エンコーディングの確認:受信したメールの文字コードを手動でUTF-8や日本語(Shift_JIS)に切り替えてみる
- 自動エンコードの調整:Outlookのオプションから自動で適用されるエンコードをOFFにして自分で選ぶ設定にする
- メッセージの再読み込み:ブラウザ版やWebメールで同じメールを開き、問題がOutlook固有か確認する
- Officeの更新:最新アップデートで表示不具合が修正されることもあるので忘れずにチェック
- プロファイルのリセット:問題が繰り返す場合、新規プロファイルを作成して環境をまっさらにする
- 送信元との連携確認:定期的に同僚や取引先に使用エンコードを共有してもらい、ズレがないかすり合わせる
- 開発者ツールでヘッダー確認:プログラマー視点でメールヘッダーを見るとContent-Typeの指定ミスがわかる
この流れでチェックすれば、どこで文字化けが起きているかつかめます。エンコーディングや設定を順番に見直してみてください。
受信メールが文字化けするときの直し方

受信したメールが文字化けしているときは、Outlookに標準で備わっている文字コードを手動で切り替える方法がおすすめです。自動判別がうまくいかずに文字化けが起きるケースに有効で、特定のメールだけ直したいときに便利です。
このやり方なら、メール自体を変えずに何度でも読み直せるので安心です。とくに海外から届くメールや古いシステムが送信したメールで文字化けが起きやすいときに役立ちます。
①Outlookを開いてファイルタブをクリック
パソコンのデスクトップやスタートメニューからOutlookを起動します。画面の左上に並んだタブのうち、一番左側にあるファイルという表示を探してクリックしてください。
リボンメニューの端にあるので迷いにくいです。ファイルタブをクリックすると、アカウント情報やオプションが並んだ画面に進みます。
②オプションを選んで詳細設定を開く
画面左上のファイルをクリックしてメニューを表示し、左側にあるオプションを選んでください。
オプション画面が開いたら、左側のリストから詳細設定をクリックして、文字エンコードなどの細かな項目が並ぶ画面を呼び出します。
③国際オプションで受信メッセージのエンコードを自動にする
メールの文字コードを自動で判別する設定にすると、海外から届く文字化けメールも驚くほど読みやすくなります。実際に筆者も取引先からの英語メールがうまく表示されず困っていたとき、この「自動選択」に切り替えてから文字化けトラブルがほぼゼロになりました。
画面左上の「ファイル」タブをクリックし、メニュー左下の「オプション」を選びます。
「メール」カテゴリを開き、「国際オプション」をクリックします。
「受信メッセージの文字エンコード」を自動選択に変更してください。
「OK」を押してオプション画面を閉じ、Outlookを再起動します。受信済みメールを開いて、文字化けが解消されたか確認しましょう。
会社のExchange環境では管理者設定で変更が制限されていることがあります。その場合はIT部門に相談してください。
④対象メールを開きメッセージタブからエンコードをUTF-8に切り替える
Outlookの受信トレイで文字化けしているメールをダブルクリックして、新しいウィンドウで開きます。
ウィンドウ上部のメッセージタブを選び、リボン内のアクション(またはその他の操作)ボタンをクリックします。表示されたリストから文字エンコード→UTF-8を選択してください。
エンコード変更後に文字化けが解消しない場合は、一度ウィンドウを閉じてから再度開いてみてください。
⑤Outlookを再起動して表示を確認する
画面右上の×ボタンだけでなく、タスクバーのOutlookアイコンを右クリックして「ウィンドウを閉じる」を選んだり、Ctrl+Shift+Esc
で起動したタスクマネージャーからOutlook.exeを終了させると確実です。
スタートメニューやタスクバーからOutlookを起動し、先ほど文字化けしていたメールを開いてみてください。正しく表示されていれば再起動は成功です。
Outlookを強制終了すると編集中のメールが失われる場合があるので、下書き保存があるか必ずチェックしてください。
送信メールが文字化けするときの防ぎ方

送信メールが文字化けするとがっかりしますよね。その場合は送信時の文字エンコードをUTF-8に統一するのがいちばん安心です。日本語メールの既定設定がShift_JISやISO-2022-JPだと、相手先の環境によっては文字変換でつまずきやすいのですが、UTF-8に切り替えておくと幅広いメールソフトとスムーズにやりとりできます。さらにメール形式をHTMLにしておくと、文字コード情報がメール本文に埋め込まれるので誤認識が減ります。設定後にテストメールを送って、いつもの相手先で文字化けが解消されるのを確認すると安心感がぐっとアップしますよ。
①ファイルタブからオプションを開く
Outlook画面の左上にあるファイルタブをクリックします。開いたメニューの左側からオプションを探してクリックしてください。見つけにくい場合はウィンドウを最大化すると一覧が見やすくなります。
②メール設定でメッセージ形式をHTMLにする
Outlookの左上にある「ファイル」をクリックしてメニューを開いてください。
「オプション」画面の左側で「メール」を選び、「次の形式でメッセージを作成」のドロップダウンからHTMLを選んでください。
画面下部の「OK」をクリックして設定を保存しましょう。これで新規メールはHTML形式で送れるようになります。
③国際オプションで送信メッセージのエンコードをUTF-8に固定する
Outlookの左上にある「ファイル」をクリックし、メニューから「オプション」を選んでください。
オプション画面の左側リストで「詳細設定」をクリックし、下にスクロールして国際オプションの項目を探します。
「送信メッセージのエンコード」ドロップダウンを開き、リストから「Unicode (UTF-8)」を選びます。
画面下部の「OK」をクリックし、オプション画面を閉じると変更が反映されます。
④メール作成ウィンドウでエンコードがUTF-8になっているか確認する
メール作成ウィンドウで送信時のエンコード
設定を確認すると、文字化けの原因がすぐわかります。ここでUTF-8
になっているか見てみましょう。
Outlookのリボンから「新しい電子メール」をクリックして、メール作成ウィンドウを表示します。
ウィンドウ上部の「ファイル」タブを選び、「オプション」→「詳細設定」→「国際オプション」まで進みます。
「送信メッセージの文字エンコーディング」がUTF-8以外になっていたら、プルダウンからUTF-8を選んで「OK」を押します。
⑤テストメールを送り受信側で文字化けしていないか確かめる
テストメールでは日本語を含む件名と本文を送って、相手側で問題なく表示されるか確認します。
Outlookで新規メールを開き、「ファイル」→「オプション」→「詳細設定」をクリックします。
「国際オプション」の「文字コード設定」からUnicode(UTF-8)を選び、日本語が混ざった件名と本文を入力して送信します。
自分の別アカウントや同僚のメールで受信ボックスを開き、件名と本文が正しく表示されているか確かめます。
万が一文字化けがあれば、受信側の設定やセキュリティソフトの干渉を疑い、設定画面で同じくUTF-8に統一して再度テストしてください。
文字化け対策を活かしてもっと便利に使うコツ

文字化け対策が一通り済んだら、もっと気軽にメールをカスタマイズできる小技を使ってみましょう。業務がラクになる上に、意外な便利さを感じられます。
応用テクニック | 役立つシーン |
---|---|
自動エンコードルールのカスタマイズ | 特定の送信者やドメインごとに文字化けの起こりにくい設定に切り替えたいとき |
VBAで一括再変換 | 過去に受信した大量の文字化けメールをまとめて直したいとき |
添付ファイルの文字コード指定 | テキストファイルやCSVを開くときに読み込みエラーが出やすいとき |
プロファイル別のエンコード管理 | 複数アカウントを使い分けていて、エンコード設定を分けたいとき |
いずれも初学者でもすぐ取り入れられる工夫なので、ぜひ実践してみてください。
海外の友だちと安心してメールをやり取りする

海外の友だちとのやり取りは文字コードの違いで文字化けしがちだよ
Windows版Outlookは日本語のメールでShift_JISを優先するから英語や中国語が文字化けしやすいけどUTF-8にそろえる設定にするとどんな言語でも安心して読めるよ
送信オプションで常にUTF-8を指定しておく
ファイルタブをクリックしてオプションを開きます。
左メニューのメールを選び、画面下部の「国際オプション」をクリックしてください。
送信メッセージのエンコードをUTF-8に固定するチェックを入れます。
最後にOKを押すと、以後メール送信時に自動でUTF-8が使われ、文字化けを防げます。
相手の文字コードに合わせて自動変換を有効にする
相手の文字コードに合わせてメールを自動で変換してくれる機能をオンにすると、文字化けの心配がグッと減ります。
まずは画面左上の「ファイル」をクリックしてから「オプション」を選んでください。設定画面が開きます。
左側の「メール」を選び、下へスクロールして「メッセージの送信」エリア内にある「国際オプション」をクリックします。
「受信者の文字エンコードを自動的に選択する」のチェックボックスにチェックを入れて「OK」を押します。これで完了です。
特定フォルダーで自動エンコード変換を設定する

受信するメールを特定のフォルダーに振り分けたあと、そのフォルダーに届いたメールだけ自動的に文字エンコードをUTF-8に直す設定ができるやり方です。Outlook for Microsoft365(Windows11)で用意された仕組みを活用すると、毎回手動でエンコードを切り替えなくても文字化けを防げます。
海外から届くシステム通知や古いメールサーバー経由のメッセージなど、文字化けしやすいメールをまとめておくと管理も楽になります。一度ルールを作っておけば、以降は届くたびに裏で自動処理が走り、郵便箱を開くたびに安心の表示が得られます。
ルールと仕分けウィザードを開き新しいルールを作る
Outlookを立ち上げて左上のファイルタブをクリックします。
[情報]画面でルールと通知の管理を選ぶとウィザードが表示されるので、上部の新しいルールをクリックします。
条件を指定せずすべてのメールを対象にする
Outlook左上のファイルをクリックし、仕分けルールと通知の管理を選びます。
ダイアログで新しい仕分けルールをクリックし、受信メッセージにルールを適用を選択して次へ進みます。
条件一覧が表示されたら、すべてのチェックを外したまま次へを押し、「このルールはすべてのメッセージに適用しますか?」と聞かれたらはいを選びます。
操作を指定せずに次へ進んでからルールに名前だけ付け、完了をクリックすると、すべてのメールに対してルールが適用されます。
スクリプトを実行しVBAでエンコードを変更する
Outlookを開いてAltキーを押しながらF11キーを押すとVBAエディタが立ち上がります。
メニューから「挿入>標準モジュール」を選び、下のスクリプトをコピー&ペーストしてください。
Sub ChangeMailEncoding()
Dim mail As Outlook.MailItem
Dim fso As Object
Dim tmpFile As String
For Each mail In Application.ActiveExplorer.Selection
tmpFile = Environ("TEMP") & "\mail.txt"
mail.SaveAs tmpFile, olTXT
Set fso = CreateObject("Scripting.FileSystemObject")
Dim tsRead As Object, tsWrite As Object
Set tsRead = fso.OpenTextFile(tmpFile, 1, False, -1)
Dim content As String: content = tsRead.ReadAll
tsRead.Close
Set tsWrite = fso.OpenTextFile(tmpFile, 2, False, 65001)
tsWrite.Write content
tsWrite.Close
mail.Body = content
mail.Save
Next
End Sub
参考渡ししているので特別なライブラリは不要ですが、エラーが出たら「ツール>参照設定」で「Microsoft Outlook xx.0 Object Library」が有効か確認してください。
エディタ上でカーソルをSub内に置きF5キーを押すと選択中のメール本文がUTF-8に書き換わります。
ショートカットキーで素早くエンコードを切り替える

文字化けしたメールを開いたままで、キーボードだけでエンコードを切り替えられる方法です。マウスを探す手間が省けるので、スピーディにチェックしたいときに便利です。
- Altキーを押しながらE→Kと順に押すだけで、UTF-8/Shift_JIS/ISO-2022-JPなどに切り替えられます。
- 切り替えのたびに読みやすさをすぐ確認できるので、どの文字コードが正しいかすぐ分かります。
- 覚えてしまえば手放せない操作感で、複数のメールを短時間で処理するときに役立ちます。
クイックアクセスツールバーにメッセージエンコードを追加する
クイックアクセスツールバーに「メッセージエンコード」を追加すると、メールの文字化けをサッと直したいときにすぐ操作できます。
Outlookのウィンドウ上部にある小さな下向き矢印を押します。よく使うボタンを登録するメニューが開きます。
表示されたリストの中から〈その他のコマンド〉をクリックして、設定画面を開きます。ここで登録するボタンを探せます。
画面上部の「コマンドの選択」で〈リボンにないコマンド〉を選ぶと、隠れた機能が一覧に出ます。
リストをスクロールして〈メッセージ エンコード〉を見つけ、クリックして選びます。文字コード切り替えに便利です。
選んだ〈メッセージ エンコード〉を右の一覧に移すため〈追加〉を押します。これで登録完了です。
設定画面右下の〈OK〉をクリックすると、クイックアクセスツールバーにアイコンが追加されます。
Altキーと数字キーで一発でエンコード変更する
クイックアクセスツールバーにエンコード切り替え用マクロを登録すると、Altキー+数字キーで一発で文字コードを変更できます。
OutlookでAlt+F11
を押してVBAエディターを開き、新しいモジュールを作成します。
Sub ToUTF8()
Dim mail As MailItem
Set mail = Application.ActiveExplorer.Selection(1)
mail.PropertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x3FDE0003",65001
mail.Save
End Sub
ファイル→オプション→クイックアクセスツールバーで登録します。位置を1番にすると、Alt+1で実行できます。
文字化けしたメールを選択してAlt+1
を押すと、登録したマクロが走り、UTF-8に変換されます。
よくある質問

- メールが文字化けして届いたとき、まず何を確認すればいいですか?
-
最初はエンコード設定をチェックしましょう。自動判定をオンにしていても、ときどき正しく切り替わらないことがあります。
「ファイル」→「オプション」→「詳細設定」→「国際対応オプション」の文字コード自動判定で、送信メッセージのエンコードをUTF-8に固定してみると安定します。
- 社内のメールだけ文字化けが多いのはなぜですか?
-
会社のメールサーバは昔から使われてきたISO-2022-JP(和文JIS)を使っていることがあります。
個人向けメールはUTF-8が標準なので、受信時の自動判定設定をISO-2022-JP優先に切り替えると文字化けが減ります。
- 送信先で文字化けを起こさないようにするにはどうすればいいですか?
-
相手の環境がわからないときは、UTF-8+Base64エンコードで送ると広く対応してもらえます。
「新しいメール」→「オプション」→「詳細設定」→「エンコード」から「Unicode(UTF-8)」を選ぶだけなので手軽です。
原因がわからないときはどうすればいい?
文字化けの原因がわからないときは、まず慌てず「切り分けパズル」に挑戦する気持ちで進めると安心です。
たとえばメールのエンコーディングを手動で切り替えたり、別のビューアで開いてみたりすると、どの段階で文字がおかしくなるか見えてきます。これを繰り返すと原因の範囲をしぼり込めて、次に進むヒントがぱっとひらめきますよ。
切り分けが進むと「ここを調整すればきっと直るはず」と自信をもって対応できるので、手戻りも減って効率アップにつながります。
HTMLメールだけ文字化けするのはなぜ?
HTMLメールは、見た目をキレイに整えるために文章の前後や途中で文字コードを示すCharset設定が埋め込まれています。
ところがOutlookは、届いたメールのヘッダー情報と本文内の設定がちょっとでもズレていると、その優先順位を誤って解釈してしまいます。結果として、ヘッダーが「UTF-8」なのに本文で「ISO-2022-JP」を指定していたり、BOM(文字コードを示すマーク)が紛れ込んでいたりすると、HTMLメールだけが文字化けを起こしてしまうわけです。
ほかにも、外部スタイルシートを読み込む仕組みや隠しタグが原因で、Outlookが実際の文字コードを判断できないケースがあります。プログラマー視点では、メール生成時にきちんとヘッダーと本文の文字コードを揃えることが大事なポイントになります。
スマホでは問題なく読めるのにPCで化ける理由は?
スマホのメールアプリがきれいに日本語を表示してくれるのにPCのOutlookだけ化けてしまうのは、文字コードの読み取り方法が違うからです。スマホでは受信したメールの文字コードを自動で判別してUnicode(UTF-8)に変換し、問題なく読めるようにしてくれます。
一方PC版Outlookは、受信メールに文字コード指定がないとShift_JIS(Windows-31J)を優先して開く挙動があります。送信側がUTF-8など別の文字コードで送っていると、変換がうまくいかずに文字化けが起きるわけです。
再インストールしても改善しない場合は?
再インストールをしても文字化けがそのまま残っているときは、Outlook本体だけを入れ替えた段階では直りきらないケースが多いです。メールの表示情報が保存されているキャッシュやプロファイル設定、Windowsの地域・言語設定、あるいは残ってしまった古いレジストリ情報などが影響している可能性があります。
ここからはより深いところにあるゴミデータや設定のズレをクリアするイメージで進めてみてください。具体的にはメールキャッシュの完全削除や新しいプロファイル作成、セーフモード起動での動作確認、Windowsのエンコード関連設定の見直し、レジストリクリーナーで不要情報を消すといった方法が選べます。どれも初めてだと少しドキドキするかもしれませんが、ひとつずつ試せば原因のあぶり出しにつながります。
フリーメールとのやり取りで文字化けが起きやすい?
フリーメールは普段は手軽に使えるけれど、送信時に自動で文字コードを切り替えることが多くて、Outlook側が受信したときにイメージとズレが生まれやすいです。
とくに件名や署名まわりはISO-2022-JPやShift_JISでエンコードされたり、Web版だとBase64に変換されたりする影響で表示がおかしくなることがあります。
プログラマー視点だと、メールのヘッダー情報を確認して文字コードを読み替えたり、Outlookの送受信設定でUTF-8固定にするだけでガラッと解消できるケースが多いです。
まとめ

Outlookで文字化けが起きたら、まず送信元と受信先の文字コードをそろえることが大切です。
具体的には、メールオプションのエンコーディング設定をUTF‐8に統一し、Windows Updateで最新の言語パックを適用するだけで多くの問題が消えます。
これだけで文字化けのストレスから解放され、安心してメールのやりとりを楽しめるようになりますので、ぜひお試しください。