山ライオンMailの絵文字に関する仕様変更

  • 下図の例では、LionもMountain Lionも、ドコモのアカウント(@docomo.ne.jp)に対して、太陽の絵文字をドコモのShift_JISで送っている。iモードにはないバラの絵文字がメッセージに含まれるとき、Lionはメッセージ全体をcharset=utf-8で送信する。太陽とバラの両方がメッセージに含まれる場合、Lionでは(バラを含むために)charset=utf-8となり、iモードにある太陽の絵文字まで「・」になってしまう。一方Mountain Lionは、iモードにはないバラの絵文字を「〓」に置き換えて、ドコモのShift_JISを貫き通す。このため太陽が道連れになって化けることはない。つまり、「ドコモのガラケー宛」という面では、Mountain Lionの仕様のほうが優れていると考えられる。


  • では、auガラケー宛の場合はどうだろう。auゲートウェイは、charset=utf-8で送られてくるUnicode絵文字の変換に対応している。このため(au絵文字に存在しないハムスターが「〓」になるのは当然として)ハムスターに道連れにされてパンダが化けるようなことはない。つまり、「auガラケー宛」という面では、LionでもMountain Lionでも(「〓」に変換されるタイミングは異なるものの)結果は変わらない。


  • Lion/Mountain LionのMailは、相手のアカウントによってキャリアを判別して動作を変える。@ezweb.ne.jpは(iPhoneでも使われるが)auガラケーと見なされる。また、@i.softbank.jpは(iPhone用のアカウントなのだが)なぜかSoftBankガラケーと見なされるようだ。その結果、送信先iPhoneで@ezweb.ne.jpまたは@i.softbank.jpアカウントを利用していた場合、Mountain Lionの仕様では、iPhoneなら表示できる絵文字でも(キャリアの絵文字に含まれなければ)「〓」に変換してしまう(下図)*1。つまり、「iPhone宛」という面では、Lionの仕様のほうが優れている。


  • というわけで、一長一短ではあるのだが、時代を考えるとLion方式のほうがいいような気もする。ただしMountain Lionでも、文字化け回避の呪文「♡」「⌘」「◉」などを使えば、すべての絵文字をcharset=utf-8で送ることができる。


  • 以上は送信(エンコード)時の話だが、Mountain LionのMailでは、ケータイから送られてきた絵文字入りのメッセージの表示(デコード)における挙動も変わった。件名に含まれる絵文字は今までどおり正しく表示できるのだが、本文中の絵文字は化けてしまう。これは仕様変更というよりバグかな。

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