今回はその改良版です。今まで、こちらの携帯絵文字変換スクリプトを使用していた方で、どうやっても動作しないよ!と悩んでいた方はこちらに変えてみてください。・PCで閲覧した場合にも絵文字が表示される・ドコモの絵文字を基準とするのはそのまま以前の携帯絵文字変換スクリプトはドコモの絵文字においてShift-JISの2バイトコードを絵文字の変換テーブルに用いていたため、サーバー環境によっては文字化けが起きたり、XHTMLとHTMLで動作が異なったりしていましたが、今回は全キャリアが対応しているUnicodeという数値参照方式を採用しているのため、絵文字の出力が安定的(サーバーの環境に依存しにくい)です。■SSIで動作させる場合サンプルソースはこちらからダウンロードできます。ファイル構成は以下の通り。(絵文字をSSIから読み出す場合のサンプルファイル)------------------------------------※includeフォルダ以下の構成は変えない方が良いです。一つづつ解説していきます。(Unicode)の変換テーブルです。1~3列目でドコモ、au、ソフトバンクの順番。各キャリア絵文字をUnicodeで入力する場合は「&#x\\\\;」となりますが、この「\\\\」の部分のみこのファイルに書いてあります。Unicodeで絵文字を入力する場合、ドコモではiモードHTML4.0以上となっているので、これ以上の機種が対応となります。(共通ファイル読み込み)絵文字変換スクリプトに必要なファイルを読み込むためのファイルです。includeフォルダ以下の構成を変えない限り特に変える部分はありません。(絵文字変換スクリプト)この部分が絵文字変換の肝となるスクリプトです。以下の部分を必要に応じて変えます。"/emoji/table.tsv";絵文字変換テーブルの場所を指定します。このファイルからの相対パスで記述します。通常はそのままでOK。"/include/emoji/images/";PC絵文字用のGIFファイルが格納されているフォルダの場所を、トップディレクトリからの相対パスで指定します。その他の部分は、すべてそのファイルからの相対パスですが、この部分はトップディレクトリからの相対パスにしてください。[include]以下のフォルダの場所(階層)によってこの部分は書き換える必要があります。0;PHPから読み出す場合は「0」に、SSIから読み出す場合は「1」に設定します。SSIで動作させる場合にこの部分が「0」のままだと正しく動作しません。(キャリア判別)携帯端末のキャリアを判定する関数。ここも通常はこのまま。(SSIをHTMLで動作させるためのファイル)HTMLでSSIを動作可能にするためのおまじないファイルです。html」とするのがミソ。(それ以外の部分は関係ありません)HTMLと同じフォルダに設置します。htaccessが設置可能なサーバーに限ります。SSIで動作させない場合はこのファイルは必要ありません。(絵文字をPHPから読み出す場合のサンプルファイル)まず、上の共通ファイルである「commons.php」をincludeする文を冒頭で指定。相対パスで指定すればOKです。あとは、絵文字番号を以下のように指定して、絵文字を表示させたい部分に書けばOK。emoji('1');?>絵文字番号表はこちらに掲載しています。(絵文字をSSIから読み出す場合のサンプルファイル)こちらも絵文字番号を指定するだけでOK。virtual="/include/emoji_trans.php?emoji=1"-->SSIから読み出す場合は、ちょっと気をつける点があります。「virtual」でSSIは読み出さないと、「?」以下の「emoji」という引数が渡されないため、このようにします。「exec」では引数が渡されないためNG。従って、SSIの読み出しで「virtual」が不可となっているサーバーでは使用できないので注意してください。パスはトップディレクトリからの相対パスで「emoji_trans.php」がある場所を指定します。絵文字番号はPHPから読み出す場合と同じです。XHTML仕様で携帯サイトを作成する際のコンテンツMIMEタイプ切り替え≫こちらのスクリプトのおかげで、無事に3キャリア絵文字対応ができました。本当にありがとうございました!著書も購入させていただきました。[EDIT]絵文字の表示について大変便利に使わせて頂いてます。ありがとうございます。」このようにしています。'../include/commons.php';携帯のトップから構成やパスは上記のようにしています。今回のサバ―(他社で管理してるため仕様が不明)では、トップは表示されますが、コンテンツのページの絵文字が表示できません。全てのページを携帯トップと同じ位置に置いたがいいのでしょうか、他に何かやり方があるでしょうか。できればアドバイス申し訳ありませんがよろしくお願いします。先ほど送信できませんでしたので再度お送りします。初歩的な質問ですが、よろしくお願いします。携帯絵文字変換スクリプトをサーバーのルートで[public_html]├[include]├[emoji]で配置した場合は問題ないのですが[public_html]├[02]├[include]と1階層下のディレクトリーにコンテンツを配置した場合にPHPのエラーがでます。移動させることはできないのでしょうか?phpとかアパッチもよくわからなくて(・・;よろしくおねがいします。[EDIT]""が消えた以前のバージョンでau表示させた時に絵文字に""が表示されていたのですがこちらに変更したら無くなりました。[EDIT]phpをincludeすると画像が表示されますプログラムを利用させていただきました。ありがとうございます。test_emoji.phpを直接URLに入れてみるとちゃんと機種毎に絵文字が変わるのですが、このtest_emoji.phpを例えばtest.html(htaccessでphpも動作するようにしています)から読み込むとPC用の絵文字が表示されてしますます。readfileとしてtest_emoji.phpを読み込んでもだめでした。何か良い方法はないでしょうか?わたしはあまりプログラムに強くありませんので作業自体、何か勘違いしているのかもしれません。お手数ですがお答えいただけますと幸甚です。[EDIT]A5301Tではauの古い機種ですが、A5301Tでは絵文字が文字化けしてました。http://www.dspt.net/test/emoji/test_emoji.phpも文字化けします。[EDIT]docomo/auにて・・・すばらしいスクリプトありがとうございます。゚】が表示されてしまうのですが原因が判らず、困っています。