Docomo、KDDI(AU)、SoftBankなど、キャリアごとに絵文字コードが統一されていません。
一つのphpファイルで各キャリアに絵文字を対応させる方法について:
・各キャリアの絵文字入力ソフトをインストール、および絵文字コード表
・キャリアを判別して絵文字を定義
各キャリアの絵文字入力ソフト、および絵文字コード表
ソフトバンク:
ウェブコンテンツビューア―を利用
http://creation.mb.softbank.jp/mc/tech/tech_web/web_docandtools.html
絵文字一覧:
http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_material_1.html
ドコモ:
絵文字 入力ソフト
http://www.nttdocomo.co.jp/service/developer/make/content/pictograph/tool/
絵文字一覧:
http://www.nttdocomo.co.jp/service/developer/make/content/pictograph/basic/index.html
AU:
絵文字入力ソフト(不要)
AUの入力例:
[php]<img localsrc="252" />[/php]
絵文字一覧:
http://www.au.kddi.com/ezfactory/tec/spec/pdf/typeD.pdf
キャリアを判別して絵文字を定義
DocomoとSoftBankは絵文字入力ソフトを使って(あるいはコピペして)定義し、KDDI(AU)は「絵文字番号」を記入します。
<?php $agent = $_SERVER['HTTP_USER_AGENT']; if(ereg("^DoCoMo", $agent)) $ag = "DC"; else if(ereg("^J-PHONE|^Vodafone|^SoftBank", $agent)) $ag = "SB"; else if(ereg("^UP.Browser|^KDDI", $agent)) $ag = "AU"; else $ag = ""; $eEnpitsu = "★"; $eEnpitsu = ($ag == "DC")?'':$eEnpitsu; $eEnpitsu = ($ag == "SB")?'$O0':$eEnpitsu; $eEnpitsu = ($ag == "AU")?'<img localsrc="149" />':$eEnpitsu; ?>
定義した絵文字を表示するには:
<?php echo $eEnpitsu ?>