絵文字が表示されない状況について改めてまとめてみる

  • 絵文字の送受信に関しては、送り手と受け手の環境やメールアドレスの組み合わせによって結果が異なってくることに加え、文字ごとにキャリアの変換テーブルの影響を受けるため、その全容を記述するのは難しい。そこで今回は、「変換テーブルの影響」はバッサリ切り捨て、どのキャリアでも表示可能なペンギンの絵文字に絞って、基本となる「送り手と受け手の環境やメールアドレスの組み合わせ」について、できるだけ網羅的に記述することとした*1
  • SoftBank iPhoneでは、iOS 7.0.0から7.0.2までの間、メールアプリの仕様が変わったことによる絵文字のトラブルが多発していたが、iOS 7.0.3で以前と同様の仕様にもどって安定した。以下の図はすべて、iOS 7.0.3をベースとしている。
  • iPhoneから一般の(キャリアのものではない)メールアドレスで送信した場合(図では「@icloud.com」としてあるが、これはあくまで一例*2)。絵文字はUTF-8で送信され、必要に応じてキャリアの受信側サーバで変換されて届く。現在、キャリアの受信側サーバのなかでは、SoftBankだけがUnicode絵文字の変換に対応していない。iPhoneの販売で先行していたSoftBankだが、iPhone側のハードコードによって絵文字をサポートしてきたぶん、サーバ側の対応が遅れているということだろうか。


  • ドコモiPhoneから@docomo.ne.jpで送信した場合。過渡的な状況なのだと思うが、こんなかんじ。


  • ドコモの携帯またはAndroid端末から@docomo.ne.jpで送信した場合。キャリア独自のShift_JISiPhone側でデコードできず、絵文字が豆腐として表示される問題は、SoftBank iPhoneではiOS 7.0.3で修正されたが、ドコモiPhoneでは直っていない。今後を考えると、SoftBankのようにiPhone側のハードコードで対応するより、auのように受信側サーバで対応したほうがいいと思う。


  • auiPhoneから@ezweb.ne.jpで送信した場合。ドコモiPhoneで受信すると絵文字が豆腐になるが、これはドコモ側の問題。


  • auの携帯またはAndroid端末から@ezweb.ne.jpで送信した場合。キャリア以外のメールアドレス宛にauISO-2022-JPをそのまま送るのは、auの伝統(?)。Unicode絵文字が浸透しつつあるので、今後の可能性としては「キャリア以外のメールアドレス宛には送信側サーバでUTF-8Unicode絵文字)に変換する」という実装も考えられるかもしれない。ドコモiPhoneで受信すると絵文字が豆腐になるのは、ドコモ側の問題。


  • SoftBank iPhoneの@i.softbank.jpまたは携帯の@softbank.ne.jpで送信した場合。基本的に前項のauと同じだが、SoftBankの送信側サーバは、キャリア以外のメールアドレス宛には、絵文字を「〓」に変換して送信する。

*1:akane_nekoさん、MD5500さんにご協力いただいてテストしました。ありがとうございます!

*2:キャリアのメールアドレス以外であっても、@gmail.comは挙動が異なるので注意。