Outlookで文字コードがUTF-8じゃないのにUTF-8にしかない文字を受信すると変換されてしまう
受け取ったメールをそのまま処理するという要望があったhttps://gyazo.com/500744c3124586bddc1c595d1f70e77b
環境によって内部で変換処理がされているらしく、受け取る想定と変わっていて困った
??になったりするのではなく、変換されて読める状態になっていたので気づけなかった
OutlookでUTF-8の文字をそのまま表示する
具体的な例
以下のような文字が本文中に入っていた場合、メールを受信したタイミングで変換?がかけられていた
© > (c)
x² > x^2
x³ > x^3
¼ > (1/4)
½ > (1/2)
¾ > (3/4)
これはOutlook(Office?)の機能なんだろうけど、どこで制御しているのかわからない
また、表示されない文字、Ä(エーのウムラウト/発音区別符号)が消えてAになっちゃうなどもあった
恐らく相手がUnicode文字をメール本文に入れて送信したが、こちらがUnicode文字を解釈できず変換されたと思われる
メールのヘッダーを確認するとiso-2022-jpだったりShift_JISだったりまちまち
Outlookでメールのヘッダを参照する
以下の設定を変更することで、UTF-8の文字もそのまま表示できるようになった
OutlookでUTF-8の文字をそのまま表示する
参考
文字コード表 JISコード(ISO-2022-JP)
文字コード表 シフトJIS(Shift_JIS)
UTF8 2byte