• 締切済み

ドコモの絵文字だけが・・カラーで表示しない

どうしてもドコモだけが、絵文字を呼び出した時に、黒色で表示され、本来のドコモの色付の絵文字になりません。 なお、構築方法は SSIをHTMLで表示させてHTMLファイルはSJISでコーディングしています。絵文字の呼び出しには <!--#include virtual="/php/trans.php?emoji=絵文字番号"--> バイナリデータをPHPで扱う場合には特殊な処理はしないとダメでしょうか。アドバイス願います。 サンプルコードは http://www.dspt.net/data/emoji/sample.txt ダータファイル http://www.dspt.net/data/emoji/emoji.csv

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

ソースのどこかに<font color="#000000">とか<body text="#000000">が入ってるんじゃないでしょうか。 ドコモの絵文字は上記のタグで色が着いたと思います。

関連するQ&A

  • 携帯3キャリア対応絵文字のPHPが上手く作動しません。

    初めまして。 携帯サイトに3キャリア対応の絵文字を使いたく、http://www.dspt.net/tools/emoji/このサイトのPHPを使用しましたが 絵文字を挿入した部分に[an error occurred while processing this directive]というエラーが表示され、正常に絵文字が反映されません。 サーバーはPHP4.0、SSIに対応しているサーバーです(CORESERVER)。 プログラム設置は以下の通りにしました。 public_html / ●●.com / index.html | +-- php(←このphpフォルダはpublic_htmlの下の階層でいいのでしょうか?) | +-- emoji / trans.php emojih.csv emojix.csv | +-- images / .htaccessはindex.htmlと同じ場所に入れ、 AddType application/xhtml+xml .htm .html AddHandler server-parsed html と記載しています。 絵文字記載タグの相対パスは"/php/emoji/trans.php?emoji=絵文字番号" としています(デフォルトのまま)。 Mobile Site Coding&Designという本でも調べたのですが、こちらも同じPHPを使用(説明文もほぼ同じでした)しているのですが なぜか相対パスは"/php/emoji/trans.php?emoji=絵文字番号"となっていました。 また、AddHandler server-parsed htmlの記述の.htaccessもPHPフォルダの中に入れるとありました。 色々なパターンを試しましたがどれも上手くいかず、結局どれが正しいのか分からなくなってしまいました。 お詳しい方がいましたらご教授いただけましたら幸いです。よろしくお願い致します。

    • ベストアンサー
    • PHP
  • docomo絵文字をSJIS10進数に変換

    docomoのSJISバイナリーの絵文字をSJIS10進数の絵文字に自動変換できるソフトをご存知の方 おられませんでしょうか。 何卒宜しくお願い致します。

  • 携帯絵文字変換スクリプトで20個目以降がエラーに

    ただいま1つのソースで3キャリアに対応した携帯サイトを作成しております。 絵文字を表示させるために、HTMLタグボードさんで配布されている「携帯絵文字変換スクリプト 3キャリア対応」 http://www.dspt.net/tools/emoji/ (フリーソフト/改変・改造自由)を組み込んでみたのですが、 下のようなエラーになってしまいました。 絵文字が19個目までは正常に表示されて、20個目以降がエラーになってしまいます。 (テストの為にHTMLファイルの<BODY></BODY>内に同じ絵文字だけを20個以上並べたところ、絵文字の種類にかかわらず20個目から[an error occurred while processing this directive]となってしまいます。) HTMLファイルをPCから開いても携帯から開いても上記と同じ現象が起こるので、もしかしたら携帯絵文字変換スクリプトの中に表示数の上限に関係した記述があるのではと思ったのですが、php初心者のためスクリプトを見ても原因がわかりませんでした。 もし原因の分かる方がいらっしゃったら、ぜひ教えていただければと思います。 どうぞよろしくお願いいたします。 ■絵文字変換スクリプト本体 trans.php <?php //┌───────────────────────────────── //│ [ EMOJI TRANS Ver2.3] //│ trans.php - 2008/06/15 //│ Copyright (C) DSPT.NET //│ webmaster@dspt.net //│ http://www.dspt.net/ //└───────────────────────────────── /********************** 初期設定 ***********************/ //絵文字変換表 $emoji_data = "emojix.csv"; //入力値取得 $num = $_GET["emoji"]; //PC用絵文字格納フォルダ $img_dir = "/php/emoji/images/"; //ドコモ→au絵文字自動変換利用(on:1 off:0) $ie = "1"; /********************** 以下からは改変しないほうが無難 ***********************/ //変換表を配列に格納 $emoji_array = array(); $emoji_array[] = ""; $contents = @file($emoji_data); foreach($contents as $line){ $line = rtrim( $line ); $emoji_array[] = explode(",", $line); } function encode($data) { $data = mb_convert_encoding($data, "SJIS", "auto"); return $data; } //携帯UA取得 $agent = $_SERVER["HTTP_USER_AGENT"]; //携帯端末のユーザエージェントを判定 function mobile($data){ if(preg_match("/^DoCoMo\/[12]\.0/i", $data)) { return "i";// i-mode } elseif(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]980|SoftBank)\//i", $data)) { return "s";// softbank } elseif(preg_match("/^KDDI\-/i", $data) || preg_match("/UP\.Browser/i", $data)) { return "e";// ezweb } elseif(preg_match("/^PDXGW/i", $data) || preg_match("/(DDIPOCKET|WILLCOM);/i", $data)) { return "w";// willcom } elseif(preg_match("/^L\-mode/i", $data)) { return "l";// l-mode } else { return "p";// pc } } //携帯キャリアに合わせて絵文字を出力 function emoji($data) { global $agent,$emoji_array,$img_dir,$ie; if(preg_match("/[0-9]{1,3}/", $data) && is_numeric($data) && 0 < $data && $data < 253) { switch(mobile($agent)){ case "i"; $put = $emoji_array[$data][1]; break; case "e"; if (preg_match("/[^0-9]/", $emoji_array[$data][2])) { $put = $emoji_array[$data][2]; } elseif ($ie > 0) { $put = $emoji_array[$data][1]; // Display such the icons that ezserver transformed as docomo i-emoji. } else { $put = "<img localsrc=\"".$emoji_array[$data][2]."\" />"; } break; case "s"; if (preg_match("/^[A-Z]{1}?/", $emoji_array[$data][3])) { $put = "\x1B\$".encode($emoji_array[$data][3])."\x0F"; } else { $put = encode($emoji_array[$data][3]); } break; case "p"; $put = "<img src=\"".$img_dir.$emoji_array[$data][0].".gif\" width=\"12\" height=\"12\" border=\"0\" alt=\"\" />"; break; } echo $put; } else { echo "[Error!]\n"; } } //処理 emoji($num); ?>

    • ベストアンサー
    • PHP
  • 携帯サイト絵文字入りのPHPフォーム

    いつもお世話になっています。 携帯サイト制作をしており、こちら→http://www.dspt.net/tools/emoji/で配布されている絵文字変換スプリクトを利用させていただいています。 さらにこちら→http://magical-form.com/ で配布されているPHPフォームも使用させていただいています。 PHPフォームはhtmlのテンプレートを読み込ませるものなので、フォームのURLはform.phpとなり、そこにアクセスするとテンプレートtemp.htmlが表示されます。 そこでtemp.htmlに絵文字スクリプトのSSIを入れたのですが、form.phpにアクセスしても表示されません。 しかしtemp.htmlにアクセスすると絵文字が表示されているのです。 form.phpにも何か手を加えなければいけないのでしょうか? phpもSSIも初めてで配布先のマニュアルに従っているだけの状態です。 どうかお知恵をお貸し下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 絵文字変換スクリプトに使用方法について

    現在、携帯サイトを作成中です。 1ソースで3キャリア対応のサイトを目指しているのですが、 絵文字の互換性のなさにつまずいております。 そこで、絵文字変換スクリプトを使い、絵文字を3キャリアで表示 可能にしようと思ったのですが、使用方法が分かりません。 絵文字変換スクリプトを使用する際、やったことは (1)<http://www.dspt.net/tools/emoji/>を参考にしています。 (2)<http://fs-server.net/index.html>⇒こちらのサーバーを使用しています。 (3)絵文字変換スクリプトをDL (4)画像以外はアスキーモードでサーバーにUL (5)サーバーのTOPディレクトリに「.htaccess」ファイルを作成。 記述内容は、1行目(AddHandler server-parsed html ) 2行目(AddType application/xhtml+xml .html )です。 ローカルでテキスト編集し、サーバー上で「.htaccess」ファイル に変換しました。 (6)絵文字を表示させたいhtmlファイルに<!--#include virtual="/php/emoji/trans.php?emoji=1"-->と記述。 以上のことをした時、絵文字が表示されませんでした。 代わりに、「an error occurred while processing this directive」 と表示されました。 私的にphpの仕組みがよく分かっておらず、原因は.htaccessファイルの 置き方が悪いのかと思っています。 お分かりになる方がいらっしゃったら、絵文字が表記されない原因を 教えて頂ければと思います。 何卒よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • パソコンから携帯に絵文字…。

    こんばんわ。 以前絵文字変換テーブルについてとても親切に教えてくださりありがとうございました。 ファイル上の絵文字の表示はできました。 しかしメールに送ることが出来ません。 10進数だったり16進数だったりバイナリコードだったり試しても無理でした。 サイトのプログラム連動のメール送信になります。ソフトを使わずにしたいです。 パソコン→メールサーバ→携帯 みたいな複雑な経緯で届くみたいですけどドコモの場合について教えてください。 言語はphp 4 です。 文字コードはSJISです。 絵文字簡単入力みたいなドコモから提供されてる絵文字入力ソフトもキャリアごとに変換される訳でもないですよね…。 変換されて届くなら絵文字入力ソフトでもいいかなとも今思いました。

    • 締切済み
    • PHP
  • 携帯で3キャリア対応の絵文字を表示する方法

    http://www.dspt.net/tools/emoji/ ↑の絵文字自動変換スプリクトを使って携帯サイトを作っています。 サイトの解説どおりにやって、ドコモでは問題なく絵文字が表示されました。 しかし、auでは一部の絵文字が「?」と表示されてしまいます。 そしてソフトバンクでは 「お客様の端末からはご利用になれません。(WJ46042E)」 というエラーメッセージが出てしまいます。 phpなどは初めてで原因が全くわかりません。 ネット「WJ46042E」のエラーについて調べてもあまり情報がありません。 何とか1ソースで3キャリア対応の携帯サイトを作りたいのですが、ヒントだけでも教えていただけれたらうれしいです。 もしくは、もっと簡単な変換スプリクトなどがありましたら教えていただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • DocomoからVodafoneの絵文字変換について

    Docomo絵文字はEzWeb絵文字に自動変換されているようです。 Docomo絵文字がVodafone絵文字にVodaのサーバーか、携帯ブラウザで自動変換されているようですが、なんか変な絵文字に変換されます。 「(Docomo絵文字"本")」が「 $Eh (Voda絵文字"本")」に 変換されるようにしたいのですが、何が原因なんでしょうか。そして、回避方法があるのでしょうか? 自分が思いついた回避方法は… ・Vodafoneだけ別HTMLを用意する。 だけです。同じHTMLで変換をかけて表示をしたいですね。 環境はPHPを使っています。 おかしい変換の例:  ドコモ絵文字     ボーダ絵文字 「(□の中に1)」 が 「 $Gf (ショート苺ケーキ)」 「(□の中に2)」 が 「 $Gg (ビールジョッキ)」 「(□の中に2)」 が 「 $Gh (雪ダルマ)」 アイコンの並びはショートケーキ、ビールジョッキ、雪ダルマの順にならんで居ました。 Unicodeが一緒だったりするのでしょうか…。

    • 締切済み
    • CSS
  • 携帯サイトでの絵文字対応BBSの作成で絵文字の変換に困っています。

    PHPとMySQLを使って絵文字対応の携帯サイト用BBSを構築しています。データベースに登録した絵文字付のコメントを取得すると、絵文字部分がうまく表示されずに困っています。 現在、携帯サイト用の絵文字対応BBSを作成しています。フォームから絵文字付のコメントを入力して、それをDBに登録、または登録されている絵文字付コメントをDBから取得するというものです。 DBに登録する際に入力した絵文字を「<emoji=1,,,>」のような形に変換してeucJP-winでDBに登録します。 出力する際には「<emoji=1,,>」を対応する絵文字に変換(事前に変換表を作成しました。)して画面に出力します。 その際、直接ソースに記述した<emoji=1,,>は対応する絵文字に変換されて表示されるのですが、DBから取得した絵文字付コメント(例:こんにちは<emoji=1,,>)は対応する絵文字に変換されない状態になっており困っています。 ob_start();                     :                     : <?php $mysql=new MySQL; $sql="SELECT no,title,imp FROM s001osirase ORDER BY no DESC LIMIT 0,3"; $mysql->query($sql); while($row=$mysql->fetch()){ $no=$row['no']; $title=$row['title']; $title=mb_convert_encoding($title,'SJIS-win',mb_internal_encoding()); $imp=$row['imp']; if($imp=="yimp"){ echo '<div style="color:#FF0000;font-size:xx-small;">[重要</div>'; echo '<div style="font-size:xx-small;"><a href="/mobile/s001/bbs/bbs_show.php?no='.$no.'">'.$title.'</a></div>'; }else{ echo '<div style="color:#FF0000;font-size:xx-small;">[普通]</div>'; echo '<div style="font-size:xx-small;"><a href="/mobile/s001/bbs/bbs_show.php?no='.$no.'">'.$title.'</a></div>'; } } ?>                 : //内部文字コード(eucJP-win)をSJIS-winに変換する関数 outpue_encode(); //<emoji=1,,,>部分を絵文字に変換してバッファを出力する関数 emoji_output(); emoji_output関数は以下のとおりです。 function emoji_output(){ $output_str=ob_get_contents(); ob_end_clean(); header('Content-Type: application/xhtml+xml;'); $output_str=preg_replace_callback('/<emoji=([0-9,]+)>/','emoji_output_changea',$output_str); echo $output_str; } コールバック関数emoji_output_changeaで$output_str内の<emoji=1,,,>を絵文字に変換しています。 ob_start()を使ってバッファにためて、emoji_outputで<emoji=1,,>を一括でpreg_replace_call関数を使って絵文字に変換して出力しています。この関数は問題なく動いていると思います。 DBから取得した記事が格納された変数$titleのみ変換されていないように思います。 考えられる原因がお分かりの方、いらっしゃいましたらよろしくお願いします。 わかりづらい文章で申し訳ありません。

    • ベストアンサー
    • PHP
  • ワードにドコモの絵文字を表示させたいのですが…

    大学のレポートに使うため、ワードにドコモの絵文字を表示したいのですが、できなくて困っています。 まず、ドコモのサイトから「i絵文字」はダウンロードしました。そして「メモ帳」ではきちんと絵文字が表示されます。 しかし、ワードでは同じことをしても文字化けをしてしまい絵文字が表示されません。 ワードで絵文字を正しく表示するためにはさらに何をすればいいのでしょうか?? 解決法をご存知の方、教えてください! よろしくお願いいたします<m(__)m>

専門家に質問してみよう