ちょっとテスト用プログラムを作るのに、プログラムから絵文字を送る方法を調べてた。
送信する文章に絵文字コードがあれば、各キャリア毎に変換する処理を入れてみた。
auには正しく送信できた。
docomoも文字コードは違うが同じ処理方法なので、たぶん大丈夫だろう。
問題はsoftbankだ。
auやdocomoはシフトJISをJISに変換した文章へ、シフトJIS絵文字コードをバイナリ埋め込みすることで表示できる。
softbankは資料によって2種類あるようだ。
よくよく読んでみると、2Gと3Gでの送り方のようで、最初はなかなか上手く送信できなかったのだが、試行錯誤するうちに3Gへ送ることはできるようになった。
しかし2Gに送ると、文字化けする。
3Gで絵文字を送るにはUTF-8に変換したコードへ、softbank式UNICODE絵文字コードをバイナリ埋め込みすることで表示できるようだが、テストした2G端末はUNICODEが理解できないらしい。
softbankのサーバで変換かけてくれないのか?
ネットをさまよってみると、携帯電話へ絵文字を送れるメールソフトが公開されていたので試してみた。
結果、2GはOK、3GはNG。
2Gには絵文字が表示されたが、3Gでは文字化け状態となってしまった。
これもsoftbankサーバで変換をしてくれないのだろうか?
結局のところ、2Gへ送りたいときは2Gで定められた方法で送り、3Gへ送りたいときは3Gで定められた方法で送らないと、端末側で表示できないということか。
ついでに、2Gと3Gどうしで送信したらちゃんと表示された。
まあ、これが表示されなかったら大騒ぎになるな。
キャリアは電話番号毎に端末の情報を握ってるから、それぞれに合わせた変換をするんだろう。
しかしキャリア外から送信するときにも、どちらの方法で送ったとしても、端末に合わせて変換をかけてくれないと、メールアドレスからは2Gと3Gの区別ができないんだから困るんだが。
それとも、vodafone.ne.jpは2Gでsoftbank.ne.jpは3Gって棲み分けができてるんだろうか?
softbank端末へ確実に絵文字を届ける方法は存在しないのかねぇ。
落ち着いて考えたらvodafone時代に3Gは始まってるから、ドメインだけで棲み分けはできてないな。
返信削除