iPhone/iPadのExchangeアカウントで文字化け

  • au iPhoneWi-Fi iPadiPod touchなどで、GmailをExchangeのアカウントとして利用している場合、送信したメッセージ中に全角チルダや「①」「髙」などがあると、メッセージ全体(英数字以外)が文字化けする。


  • au iPhoneなどのMailは、全角チルダの仲間*1Windows外字が含まれるメッセージをcharset=CP932で送信する。これがモバイル版のMailのオリジナルの仕様で、SoftBankiPhoneiPadのほうはカスタマイズされているのだろう(下図)。


  • で、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