【携帯サイト制作】第三回 3キャリア対応 絵文字変換スクリプトで文字化け解決
さて、なんとかUTF-8で各キャリア文字化けを回避しましたが、auの絵文字が文字化けしている状況・・・・
これがなんとかならないか・・・と、ネットサーフィン。死語ですが。
SHIFT_JISなら問題ないのでしょうが、ちょっと今更なのでなんとかUTF-8で。
そんななか、3キャリア対応 絵文字変換スクリプト MobilePictogramConverterが願いを叶えてくれそうでした。
早速挑戦です。
もっともシンプルなコードで書くと・・・
<?php
require_once ‘MobilePictogramConverter.php’;
$str = pack(‘H*’, ‘F89F’); // DoCoMo 絵文字 (太陽のマーク)
$mpc =& MobilePictogramConverter::factory($str, MPC_FROM_FOMA, MPC_FROM_CHARSET_UTF8);
echo $mpc->autoConvert();
?>
そして、docomoとauで確認したら!!
バッチリです!!キター!
でも、これだと、絵文字一個ずつechoしなくてはいけないのかな?
それはキツイ。
とおもったら、コメント欄に同じくお悩みの方が。
結果、ヒアドキュメントでやれるみたいです。
<?php
require_once ‘./mpc/MobilePictogramConverter.php’;
$body =<<<body1
i絵文字で絵文字を挿入
body1;
$mpc =& MobilePictogramConverter::factory($body, MPC_FROM_FOMA, MPC_FROM_CHARSET_UTF8);
echo $mpc->autoConvert();
?>
おおお?!
バッチリですよ!
素晴らしいプログラムに感謝!!
第一回 そろそろ携帯サイトも真面目(XHTML&CSS)に作ってみましょうか。
第二回 auでUTF-8で作成したページの絵文字が文字化け
第三回 3キャリア対応 絵文字変換スクリプトで文字化け解決
第四回 ケータイサイトXHTML&CSSでBLINKとかって。
第五回 auでutf-8のページからformで日本語を渡すと文字化けorz
第六回 メール受信設定をしっかりと案内してますか?
第七回 auのソフトキーラベルについて
第八回 エラーが発生しました。レスポンスが不正です。WJ46386E