携帯向けページの絵文字の文字化け対策

絵文字(emoji) の emo を外人さんは emotion と思っているとかいないとか。それはさておき、 SoftBank キャリアの一部の機種で絵文字を表示した際、 HTTPS だと文字化けするようです。これは 3GC 端末が Shift-JIS を解釈できないため、 Shift-JIS にソフトバンクのサーバーを通して変換する際に発生する問題です。
以下のようなパッチをあてることで絵文字部分を文字列に変更しました。


Index: data/smarty_extends/modifier.numeric_emoji.php
===================================================================
--- data/smarty_extends/modifier.numeric_emoji.php (revision 17592)
+++ data/smarty_extends/modifier.numeric_emoji.php (working copy)
@@ -12,7 +12,9 @@
// 数字絵文字 (009) の絵文字番号
static $numeric_emoji_index = array('134', '125', '126', '127', '128', '129', '130', '131', '132', '133');

- if (SC_MobileUserAgent::isMobile() && isset($numeric_emoji_index[$value])) {
+ $objAgent =& Net_UserAgent_Mobile::singleton();
+
+ if (SC_MobileUserAgent::isMobile() && (!$objAgent->isVodafone()) && isset($numeric_emoji_index[$value])) {
return '[emoji:' . $numeric_emoji_index[$value] . ']';
} else {
return '[' . $value . ']';


ちなみに上記の問題は、リンクでは発生せず、メールでのリンクアクセス等(顧客登録部分など)で発生するようです。