Outlook on the Webの言語設定が英語だと文字コードが中国語になる
結論
クライアントの表示設定を日本語に変えましょう。
問題が見つかった経緯
私は普段、Outlook on the Web(旧称:Outlook Web App)を利用しているのですが、先日、メール送信相手から、メールが文字化けしていると連絡がきました。
メールのヘッダを確認すると、文字コードがなぜか中国語の gb2312 になっていました。
過去数年このような問題はなかったのですが、2024年11月20日に、文字化けについて指摘されました。
原因
文字化けの原因は、この文字コードです。
こちらから送信しているメールが中国語の gb2312 になっているのが問題でした。
Gmailアカウント宛に送ると、文字コードは gb2312 のままでも、文字化けせずに届いたのですが、他のプロバイダー宛だと文字化けするようです。
なお、送信したメールの件名や本文は、日本語と半角英数字のミックスでした。
なんでこんな事になっていたのかというと、Outlook on the Webの表示言語をEnglishにしていたためでした。
ちなみに、これまでもずっと言語設定はEnglishだったのですが、文字化けしているという指摘は過去にゼロでした。
対応方法
表示言語を日本語にすると、文字コードが iso-2022-jp と、日本語に変更され、文字化けは解消されました。
何故かUTF-8にできない
そもそも文字コードを utf-8 にすれば問題ないのではと思ったのですが、Outlook on the Webには文字コードを設定するメニューがありません。
新しい Outlook for Windows である Outlook (new) にも文字コードのメニューがありません。というか、新しいOutlook for WindowsはOutlook on the Webと同じようです。
そこで、Exchange admin centerのRemote domainの設定で、文字コードを utf-8 に変更してみたのですが、それでも、文字コードは utf-8 にはなりません。
他に試したこと
言語設定をEnglish(World)にして、英数字のみでメールを送信
この場合は、charset="us-ascii" になる。
しかし、日本語が混在すると gb2312 になる。
言語設定をEnglish(United States)にして、英数字のみでメールを送信
この場合は、charset="iso-8859-1" になる。
しかし、日本語が混在すると gb2312 になる。
言語設定を日本語にして、英数字のみでメールを送信
この場合は、charset="us-ascii" になる。
日本語が混在すると iso-2022-jp になる。
Outlookさん、UTF8を使わせてください。