iPhone/iPadのExchangeアカウントで文字化け
- au iPhone、Wi-Fi iPad、iPod touchなどで、GmailをExchangeのアカウントとして利用している場合、送信したメッセージ中に全角チルダや「①」「髙」などがあると、メッセージ全体(英数字以外)が文字化けする。
- au iPhoneなどのMailは、全角チルダの仲間*1やWindows外字が含まれるメッセージをcharset=CP932で送信する。これがモバイル版のMailのオリジナルの仕様で、SoftBankのiPhoneやiPadのほうはカスタマイズされているのだろう(下図)。
- で、SoftBank iPhoneのようにShift_JISを使うのとau iPhoneのようにCP932を使うのではどちらがいいかといえば、両方ともダメだ*2。ただ、charset=CP932のほうがExchangeとの相性が悪い*3。
- MailがExchangeアカウントで送信したメッセージは、一度変換された上でGoogleのExchangeサーバに置かれるが、その際、本文のCP932がうまく解釈できず、多くの文字がU+FFFD(文字化けマーク)に置き換えられる*4。そしてそのメッセージは、U+FFFDを含んでいることにより、charset=UTF-8で保存される。このようにサーバ上ですでに化けているので、受信側の環境を問わずに化けるし、受信側では直しようがない。
- そのようなわけで、あまり役に立たない結論を述べておくと、au iPhoneなどでGmailをExchangeのアカウントとして快適に使うのはちょっと難しい。だが、その責任はどちらかといえばiPhone側にある。だからもうCP932とかShift_JISとかやめてUTF-8に……。
*1:「U+FF5E FULLWIDTH TILDE ~」の仲間は、「U+2015 HORIZONTAL BAR ―」「U+2225 PARALLEL TO ∥」「U+FF0D FULLWIDTH HYPHEN-MINUS -」「U+FFE0 FULLWIDTH CENT SIGN ¢」「U+FFE1 FULLWIDTH POUND SIGN £」「U+FFE2 FULLWIDTH NOT SIGN ¬」。
*2:IANAに登録されている"Shift_JIS"はWindows外字を含まないし、もちろんSoftBank絵文字も含まない。一方"CP932"はIANAに登録されていない。
*3:SoftBank iPhoneのcharset=Shift_JISのほうは、前回述べたとおり、LionのMailと相性が悪い。
*4:@kojiishiさんからtwitterで「実際のExchange Serverではそんなこと起きないので、GoogleのActiveSync実装との相性問題ではないか」という内容のコメントをいただきました。ありがとうございます! https://twitter.com/#!/kojiishi/status/197275954438090752