ブログトップ 記事一覧 ログイン 無料ブログ開設

Mac OS Xの文字コード問題に関するメモ このページをアンテナに追加 RSSフィード

2012-05-14

なぜiPhoneから送ったメールの文字化けが増えているのか


  • このごろ「iPhoneから送ったメールが相手先で化けた」といった話をよく聞く。もちろんそういう例は前からあったのだが、明らかに増えている気がする。最近の事例の共通点は「相手先のスマホでメッセージ全体が文字化けする」というもの。で、調べてみた。
  • 結論から言うと、原因はcharset=CP932だった。以前にも書いたように、iOSでは「〜」を「ー」などから変換・入力すると、波ダッシュ(U+301C WAVE DASH)ではなく全角チルダ(U+FF5E FULLWIDTH TILDE)になる。そして、この字を含むメッセージをau iPhoneWi-Fi iPadのMailで送信すると、charset=CP932になる。
  • 下図は、charset=CP932のメッセージ(テストです~)をAndroid端末に送った結果をまとめたもの*1。docomoでもauでも、標準のPCメールアプリGmail、キャリアメール以外のアカウントのためのメーラー)では、メッセージ全体が化けた。また、ドコモのspモード(@docomo.ne.jpアカウント)用のメーラーでも、同様に化けた*2

  • charset=CP932のメッセージを送る端末としては、以前からWi-Fi iPadiPod touchなどがあったが、半年ほど前にau iPhoneが出たことにより、スマホ間のメールのやりとりでCP932が使われる機会が増え、文字化けの話題が目立つようになったのだろう。ちなみにSoftBank iPhone/iPadのMailでは、全角チルダを使った「テストです~」は、charset=Shift_JISになる。これはAndroid端末では化けないが、MacのMailで化けるので、どちらがマシというようなものではない。
  • au iPhone(とWi-Fi iPadiPod touch)における簡単な文字化け防止策は、署名に適当な絵文字でも入れておくこと。そうすれば、すべてのメッセージでcharset=UTF-8になるので、(その絵文字自体は化けても)「全体化け」を回避することができる*3

*1:@apo_geeさん、@MurakamiShinyuさん、@neo_karo_jp さん、@ojayuさん、@osakanataroさんにご協力いただいてテストしました。ありがとうございます!

*2:ドコモのspモード用のメーラーには、spモードメールアプリ以外にCommuniCaseがあり、こちらはPCメールにも対応している。今回のテストでは、CommuniCaseで受信した@docomo.ne.jpアカウント宛のメッセージは化けなかったが、PCのアカウント宛のメッセージはCommuniCaseで受信しても化けた。

*3:署名に絵文字を入れるのは、あくまでau iPhoneWi-Fi iPadiPod touch用の対策。SoftBankiPhone/iPadでそれをやると、charset=UTF-8ではなくcharset=Shift_JISになってしまう。auでもSoftBankでも確実にcharset=UTF-8にできる文字は「♡」や「◉」など。

アオキアオキ 2012/07/23 14:00 当方auiPhoneで対docomoAndroidへのメールで原因不明の文字化けで悩んでたんですが
該当メールソースを見て見慣れないcp932の文字コードを不審に思い、ここにたどり着きました。
文字化け原因が「〜」にあったことがわかり助かりました。
結論が先に端的に述べられた上、整った読みやすい記事でした。ありがとうございました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証