先日、iOS デバイス同士でgmailのメールやり取りをしていたところ突如文字化けが発生して驚かされたのですが、その事で以前「softbank.ne.jp」メールアドレスから「gmail.com」メールアドレスへのメールが文字化けする事を、当ブログで紹介した事を思い出し、もう少し詳しく調べてみました。
その結果、iOS 4.3.3をインストールしたiPhone 4上で、SMS/MMSアプリを使って「softbank.ne.jp」メールアドレスから「gmail.com」メールアドレスへ日本語を含むメールを送っても文字化けが発生しなくなった事を発見しました。
iOSバージョンアップの度に試していた訳ではないので、いつから改善されたのか分からないのですが、今年の2月頃の段階ではまだ文字化けしていたと記憶しているので、iOS 4.3あたりで何か変更が加えられたのでしょうか…。
従来は こちら のエントリーで紹介した通り、
- x x x @softbank.ne.jp から y y y @gmail.com は文字化けする
- x x x @softbank.ne.jp から y y y @googlemail.com は文字化けしない
といった状況でした。
2011年5月8日に、前回同様SMS/MMSアプリを使ってそれぞれのメールアドレスに対してメールを送信してみたのですが、どちらも文字化けせずに読み取る事が出来ました。
さらに詳しく調べる為に、それらのメールをMacで受信してヘッダ情報を詳しく調べてみた結果、次の様な事が分かりました。
- @softbank.ne.jp から @gmail.com のメールは「SHIFT_JIS」(SHIFT JISコード)でエンコードされている
- @softbank.ne.jp から @googlemail.com のメールは 「ISO-2022-JP」(JISコード)でエンコードされている
なお、MobileMe宛に@softbank.ne.jpからメールを送ると、@googlemail.com宛と同じくJISコードでエンコードされています。
これらの事から、iOSのSMS/MMSアプリは「JISコード」でエンコードしてメールを送るにも関わらず、@gmail.comへのメールのみどこかで「SHIFT JISコード」へ変換されてしまっているのではないかと思います。そして、最新のiOSに含まれるメールアプリが「SHIFT JISコード」エンコードのメッセージも文字化けせずに表示できる様に改善された為、以前は読み取る事が出来なかったメッセージを正しく読める様になったと思われます。