Re:Re:感銘高き名言は「1%のひらめきがなければ99%の努力は無駄である」(トーマス・エジソン)タグ:絵文字2010年02月23日SJISコードの絵文字マッピング連想配列を作りました。えーっと、ライブラリを使う人は使えばいいと思うし、独自実装しよーとしてる人向けのSJISコード絵文字マッピング連想配列を作ったので載せておきます。それぞれ、dはdocomo、aはau、sはsoftbankです。auはウェブとメールで異なるので、さらに連想配列になっています。主keyは、auの技術サイトでダウンロードできる絵文字データのファイル名ベースになっているので、pc向けとしても使えるんじゃないでしょうか?docomoの絵文字を基準に、共通している224種類のマッピングです。カスタマイズしてどうぞ。あ、最後にカンマ入れてないので入れてネ。=>array('d'=>'F9FC','a'=>array('web'=>'F7F5','email'=>'ECF5'),'s'=>'F747')ごくシンプルな送信サンプル。本文に絵文字を出力して送信します。絵文字入力置換のPHPサンプルGET/POSTされてきたデータから絵文字を抽出&置換するサンプルプログラム(PHP)SoftBankのSJISコード領域が他社と重なる部分があるので、マッピングリストの都合上、&#ではなく&!として置換しています。J-PHONEを切り捨ててます。固定記述なので、例外の場合とかもろもろの処理修正は必要です。携帯絵文字変換(ドコモ(拡張)toソフトバンク)基本絵文字に続いて拡張絵文字載せときます。携帯絵文字変換(ドコモ(基本)toソフトバンク)ソフトバンクのSJISコードに対応した、ドコモ⇒ソフトバンクの絵文字(基本)対応リスト。検索で見つからなかったので、ドコモの公式pdfに従って作りました(絵文字が無い箇所は文字じゃなくnullにしてあります)。どこかにあったら教えてください。i絵文字で入力したWEBページ出力変換のみなら使えるかな。WEBの場合、auは自動で対応するけど(正確にはドコモの絵文字コードに対応するauの絵文字コードが振ってある)、ソフトバンクだけは変換しないと無理ですから。拡張絵文字は後ほど・・・。ソフトバンクがSJIS対応になってる訳ですが、ドコモおよびauのSJISコードと被ってるんですよね。それがまた問題でもあったりする(変なWEBコードよりはマシな気はする)。なんでソフトバンクの公式にはSJISコードを載せないんですか?デベロッパーサイト頻繁に重いし。その辺りちゃんと整備してください。絵文字を表示する上で設定に四苦八苦。表示できたので、その設定をメモ。絵文字を壊さず変換するらしいこれで通常のEUC⇒SJIS設定の完了。このままだと、SJISで書いてるテンプレート(HTML)が化けてしまうので次にEthnaの設定。ここではアプリケーションIDをwebappとする。※尚、Webappと大文字で始まっているのは※Ethnaが1文字目を大文字として扱うからEthnaが利用するSmartyの出力フィルタを作成ここでは、ファイル名を仮にsmarty_outputfilter_encode.phpとして新規作成し以下を記述。作成場所はWebapp_Controller.phpと同じディレクトリで構わない。;}入力文字コードがSJIS-win、変換文字コードがeucJP-winとなる。ま・・・動作を理解してないんですけど、php.iniの設定と兼ね合えばテンプレート(SJIS)→(EthnaのSmartyフィルタでSJIS-win⇒eucJP-win変換)→(php.iniのエンコーディングでeucJP-win⇒SJIS-win変換)→WEB表示だから表示されるのか、と。最後に、出力フィルタをWebapp_Controller.phpに読み込み、設定。eucJP-winフィルタはhttp://ethna.jp/ethna-document-dev_guide-app-sjis.htmlを参考。