ソフトバンク携帯からのフォーム送信
2008/02/04 | ケータイ
ちょっと驚いた発見があった。もともと携帯向けの開発なんてしていなかったからかもしれないけれど・・・。
最近携帯をソフトバンクに変えたのだが、その端末からウェブフォームで入力値を送信するのだがどうしても文字化けする。以前のドコモ端末では問題なかったのに・・・。
基本的に携帯のサイトは出力がSJISなわけで、フォームから送られてくるデータもSJISだと思っている(思っていた)。プログラム内部では、
mb_http_input(‘pass’);
の宣言をいれ、手動で内部encodingに変換していた(mb_internal_encoding)。
で、POSTされた文字列をdetect_encodingして調べてみた。
UTF-8
えぇぇぇ。ソフトバンク携帯ってデータを常にUTF-8で送信するの?。前からこんな仕様だった?。HTMLフォームの文字コードと同じ文字コードで送信してくれるのではないの?。
まだ十分調べたわけではないけれど・・・。
まぁ、ブラウザから送られてくるデータの文字コードなんてそもそもアテにならないけれど・・・。久々に<input type=”hidden” name=”encodeChecker” value=”美乳” />みたいなコードを書いてしまった(もちろんこの値を元にmb_convert_encodingするため)。
2008/02/05 at 2:51 PM
はじめまして、楽しくいつも読まして頂いてます。
ソフトバンクは全部の機種がUTF8では無いです。
SJISで送信する端末もあります、端末毎で違うのでいつも苦労しておりますTT
でも確か絵文字の送信はUTF8で送らなければいけない仕様だったと思います。
2008/02/06 at 7:25 PM
情報ありがとうございます。
何はともあれ、すべての携帯ブラウザがUTF-8対応で、絵文字も簡単に使えて・・・みたいなことになってほしいです。
2008/02/13 at 8:23 PM
携帯からのフォーム送信・・・
この前「ソフトバンクではフォームの送信が必ずUTFで送られる」みたいな記事を書いた。ものすごく気になっていたので、別途チェック専用のプログラムを書いて再度試してみた。結果・・・。嘘を書いていたことが判明しました。失礼しました。プログラムの内