ボーダフォンからの絵文字コード削除の問題

このQ&Aのポイント
  • PHPで作成した携帯絵文字対応の掲示板で、ボーダフォンから投稿した絵文字コードが削除される問題が発生しています。
  • 絵文字を入力してPOSTした際、絵文字の部分のみPOSTされたデータが削除されてしまいます。
  • 絵文字コード変換処理を通す前に、絵文字のWEBコードを含むデータをPOSTしても同様の問題が発生します。
回答を見る
  • ベストアンサー

フォームからPOSTした際ボーダフォンの絵文字コードが削除されてしまいます・・・

今、PHPで携帯絵文字対応の掲示板を作成しています。 ドコモ・auについては、絵文字投稿・相互変換は正常に動作するようになり、ボーダフォンについても他のキャリアで絵文字を投稿したものは、ちゃんとボーダフォンの絵文字コード(WEBコード)に変換されて表示されます。 ただ、ボーダフォンから絵文字を投稿する際に、うまく動作しません。 いろいろ調べて設定を変えてみたりしましたが、どうもうまくいきませんので、アドバイス等をいただければと思います。 上記以外の症状としては、テキストボックスにボーダフォンから絵文字を入力してPOSTしたのですが、絵文字の部分のみPOSTされたものは削除されています。 例えば、「あいうえお(絵文字)かきくけこ」を入力しPOSTした際、PHP上では「あいうえおかきくけこ」というデータになっています。 これは自作した絵文字コード変換処理を通す前に、$_POSTをダンプして確認しましたが絵文字コードがちょうど削除されていました。 テキストボックスがまずいのかとも思い、hiddenデータで絵文字のWEBコードをPOSTしてみましたが、同じでした。 ただ、PC(Windows上のIE)からテキストボックス、hiddenデータともWEBコードを直接入力・設定してPOSTした場合は、削除されずちゃんとvar_dump($_POST);でダンプされています。 予想では、php.iniの文字コード関連設定がまずいと考え、いろいろ設定しましたが変化はありません。 ちなみに、php.iniは直接変更可能ですがphp.iniを変更せずに、とりあえず.htaccessでいろいろ設定変更して試しました。 絵文字コード変換処理を通す前のことなので、PHP自体の設定だと思うのですが、どなたかご教授いただければと思います。 よろしくお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

まずは携帯がちゃんと送っているか調べてみてはいかがですか?送られてきていなければ、いくらPHPの処理を変えたところで無意味です。 vodafoneの技術資料に 3GC型端末では、絵文字は送出を保障しないことに注意すること と書いてあるので端末によっては送られないんじゃないでしょうか?

参考URL:
http://developers.vodafone.jp/dp/tool_dl/download.php?docid=120
fedorars
質問者

補足

早速のご回答ありがとうございます。 実機で調べたのは、2種類ですがともに絵文字部分が削除されました。 ボーダフォンで配布している、エミュレータでは一応送信できていますし、PCからWEBコードを送信した場合も送信できています。 ちゃんと送っているかどうかを調べる具体的な方法があれば、お教えいただければと思います。 よろしくお願いいたします。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

>ちゃんと送っているかどうかを調べる具体的な方法があれば、お教えいただければと思います。 Webサーバ側でパケットキャプチャを使って生のデータを採取してみて下さい。

fedorars
質問者

お礼

ご回答いただいたあとも、いろいろ調べてみたのですが、3G携帯について情報がありました。 Vodafoneの3G携帯は、SJISでフォームがかかれている場合、絵文字が送信できないそうです。 3Gで絵文字を送信可能にする場合は、UTF-8で書く必要があるそうです。 それをもとに、Vodafone3G携帯のみUTF-8で書き、問題が解決しました。 ご指摘の通り、データが送られていないことが原因でした。 アドバイスありがとうございました。

関連するQ&A

  • ボーダフォン絵文字について

    宜しくお願いします。 phpでボーダフォンのページを作っていますが、ボーダフォンの絵文字を表示するにはどうすれば良いのでしょう??ウェブコードのまま使うと、 『Warning: Unexpected character in input: ''(ASCII=27) state=1 in /home/****/public_html/***/***/***.php on line 4』 というエラーが表示されてしまいます。 どうすれば絵文字を使えるのでしょうか?? 教えてくださいm(__)m

    • ベストアンサー
    • PHP
  • 携帯実機からの絵文字入力を受け付けるフォームを作成しています。

    携帯実機からの絵文字入力を受け付けるフォームを作成しています。 softbank・auからは、入力値を受取る($_POST)⇒自作のコード表に対応させ変換・DB登録⇒出力 という作業がうまくいくのですが ドコモの場合のみ、入力値が受取れませんT_T 晴れマークをドコモ実機から入力すると 1)  var_dump($_POST['●●']); 2)  var_dump(unpack("H*",$_POST['●●'])); 3)  var_dump(bin2hex($_POST['●●'])); などなど、どれを試しても string(0)'' となってしまいます。。 ただ、絵文字によってはunpack("H*",$_POST['●●'])の結果が取得できたりもします?! 家マークの場合は、unpack("H*",$_POST['●●'])が"ecc2"となりました。 ≪string(0)'' となる≫ 晴れマーク・笑顔マーク・電球マーク など ≪eから始まる(?)4文字になる≫ ハートマーク・はてなマーク post値が空になる絵文字とならない絵文字との違い(共通絵文字か否か、という問題ではないようですし。。) も分かりませんし 空にならない場合のeから始まる4文字の正体も不明です>< お助けください!!! 似たような質問で、「mbstring.http_inputをpassにするとよい」というような内容がありました。 php.iniではautoの設定となっているので、ためしにlocalのini_setでpassに変えてみましたが 効果はありませんでした:;

  • 文字コードについて

    バッチファイル(コマンドプロント)を使用 PHP バージョン 5.1.6.6 初心者で、何を言っているのかよく分からないかもしれないのですが、 php.iniファイルや htaccessファイルで、文字コードの設定をしない 文字コードの変換は出来ないのでしょうか?? 私的には、textの中で、文字コードを変換してくて mb_convert_encoding関数やmb_internal_encodingなどを試して見た所 コマンドプロントに構文エラーみたいな感じで、スクリプトが止まってしまいます。 何かいい方法や原因が分かる方教えてください。 宜しくお願いします。 何か追記が必要ならわかる限り伝えます。

    • 締切済み
    • PHP
  • PHPのソース内でのVodafone絵文字の扱い方

    PHPで、DoCoMo,Vodafone,auの3機種の絵文字を出し分けるファンクションを書いていました。 function emoji($imode,$vodafone,$ez){ $ua = $_SERVER["HTTP_USER_AGENT"]; if(ereg("DoCoMo",$ua)){ print $imode; }else if(ereg("J-PHONE",$ua)){ print $vodafone; }else if(ereg("Vodafone",$ua)){ print $vodafone; }else if(ereg("UP.Browser",$ua)){ print "<IMG LOCALSRC=".$ez." />"; } } というファンクションを定義し、 <?php emoji(ドコモの絵文字,Vodafoneの絵文字,EZの絵文字番号); ?> と書けば、アクセスしたキャリアによって絵文字を出し分けるしくみです。 しかし、Vodafoneの絵文字のコードが特殊なため、エラーになってしまいます。 $記号が含まれているせいかな?と思って $の前に\を入れてみたりもしましたが、ダメでした。 何かよい回避方法はありますでしょうか?

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

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

    • 締切済み
    • CSS
  • 特殊文字をPOSTした際の動作は?

    特殊文字はPOSTした際、「"」は「%22」などに内部でURLエンコードされ、受け取り元では元の文字にURLでコードされているはずですが、これに絡んだ動作がいまいち理解しきれないので、お教え願えればと思います。 フォームで、テキストエリアに「"」などを入力してPOSTし確認表示させる際に、HTML出力する際に最終の処理をするCGIへPOSTするために「hidden」属性でPOSTするためのデータを持たせています。 ただ、そのままだと <input type="hidden" name="xxx" value="""> となってしまい、POST先では値がなしになってしまうため、HTML出力する際に「"」を「"」に置換して <input type="hidden" name="xxx" value="""> としています。 これをPOSTした際、受け取り元でデータを見ると、予想ではそのまま「"」となっているはずでしたが、なぜかちゃんと「"」に戻されています。 ほかの「&」なども同様でした。 これは、正常なのでしょうか? 自分は、POSTされたものは受け取り先でもそのまま「"」だと思っていたので、「"」を元の「"」に置換する処理を入れていたのですが・・・ 基本的なことだと思いますが、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ボーダフォン⇔auの絵文字

    自分:ボーダフォン 相手:au     です なな☆メ~ルを介してやり取りしているのですが、どうも特定の絵文字しか変換されないようです。変換されない絵文字は「*」のマークで送られてきてします他の方法はご存じないでしょうか? できればそうなる原因もご存知でしたら教えていただけるとうれしいです。

  • i-mode、ez-web、ボーダフォンに共通の絵文字は?

    携帯電話向けのWebページをHTMLで作成しようと思っています。 見てくれを少しは良くしようと思い、絵文字を『驪』(四角数字の1)の様にコードで記述してみました。 上記の方法だとi-modeとez-webでは正常に絵文字として表示されるのですが、ボーダフォンではコードのままで絵文字は表示されません。 同一ファイル(絵文字入り)で三者共正常に閲覧できる絵文字コード又は記述方法はないのでしょうか? やはり、三者別々のファイルを作成した方が良いのでしょうか? ご教授よろしくお願いします。

  • 絵文字を送信 au→ボーダフォン 相手にはどんな絵文字が表示されるのか知りたい。

    いつもお世話になってます。 ケータイメールの絵文字は、今は多機種へも普通に送信し出来るようになりましたが、 自分は、ケータイはauを使ってます。 私が選んだ絵文字がボーダフォンでは、どんな絵文字になって表示されるのか知りたいです。 この絵文字は、こう変換されるなど調べる方法などありますでしょうか? どうぞよろしくお願いします。

  • MySQLの文字コードについて

    こんばんは。今、PHP+MySQLの勉強をしているのですが、PHPとMySQLをSJISで保存して接続をすると文字化けはしないのですが、他の文字コードだと一部文字化けをしてしまいます。 どうやったら、他の文字コードでも化けないようにすればよろしいのでしょうか?ちなみにPHPは5.2/Apache2.0/MySQLは5.0を使っておりmy.iniの文字コード設定はデフォルトでSJISにしています。 よろしくお願いします。

専門家に質問してみよう