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を使わせてください。