Emo PHP携帯絵文字ライブラリ
Home > Vodafone3Gで絵文字受信
Vodafone3Gで絵文字受信
この章は文字コード設定の項目を熟読した後にご覧下さい。
Vodafone3Gの問題点
Vodafone3Gの端末は、端末自体に不具合があり、
絵文字を受信するのに特別な操作が必要になってきます。

具体的にどのような不具合があるかというと、
sjisページで絵文字を入力すると、端末から絵文字が削除された状態でサーバに送信されます。
そのため、HTML自体をutf-8で作成してutf-8で文字や絵文字を受信させる必要があるのです。
Vodafone3Gで絵文字受信設定
デフォルトのまま、当ライブラリを使用されると、
Vodafone3Gの場合はsjisで処理され、絵文字が削られてしまいます。

ということで、Vodafone3Gの場合のみutf-8でhtmlを出力させ、絵文字もutf-8で取得するように変更します。
変更箇所は文字コード設定で設定した文字コードの
"type_set_Voda3G"、"type_get_Voda3G"、"type_in_Voda3G"、"type_out_Voda3G"を全てutf-8に変更するだけです。

具体的コードは以下の通りです。
コード中の $this->type~ で文字コードを設定します。

MyEmo.php
<?php
require_once(dirname(__FILE__) . "/Emo-x.x.x/libs/Emo.php");

class MyEmo extends Emo
{
function MyEmo()
{
/**
* 各キャリアの絵文字の文字コード
* 右に設定値一覧を示す。(*)がデフォルト
*/
$this->type_set_docomo = "sjis"; // sjis(*), utf-8
$this->type_get_docomo = "sjis"; // sjis(*), utf-8
$this->type_set_EZweb = "sjis"; // sjis(*), utf-8
$this->type_get_EZweb = "sjis"; // sjis(*), utf-8, tag
$this->type_set_SoftBank = "web"; // web(*), sjis, utf-8
$this->type_get_SoftBank = "web"; // web(*), sjis, utf-8
$this->type_set_Voda3G = "utf-8"; // web(*), sjis, utf-8
$this->type_get_Voda3G = "utf-8"; // web(*), sjis, utf-8

/**
* 各キャリアの文字コード
* 右に設定値一覧を示す。(*)がデフォルト
*/
$this->type_in_docomo = "sjis"; // sjis(*), utf-8, euc-jp, 他
$this->type_out_docomo = "sjis"; // sjis(*), utf-8, euc-jp, 他
$this->type_in_EZweb = "sjis"; // sjis(*), utf-8, euc-jp, 他
$this->type_out_EZweb = "sjis"; // sjis(*), utf-8, euc-jp, 他
$this->type_in_SoftBank = "sjis"; // sjis(*), utf-8, euc-jp, 他
$this->type_out_SoftBank = "sjis"; // sjis(*), utf-8, euc-jp, 他
$this->type_in_Voda3G = "utf-8"; // sjis(*), utf-8, euc-jp, 他
$this->type_out_Voda3G = "utf-8"; // sjis(*), utf-8, euc-jp, 他
$this->type_in_pc = "sjis"; // sjis(*), utf-8, euc-jp, 他 pc時html入力
$this->type_out_pc = "sjis"; // sjis(*), utf-8, euc-jp, 他 pc時html出力 支援ツールhtml

/**
* 呼び出し元の文字コード
* 右に設定値一覧を示す。(*)がデフォルト
*/
$this->type_get_base = "sjis"; // sjis(*), utf-8, euc-jp, 他 入力変換で使用
$this->type_set_base = "sjis"; // sjis(*), utf-8, euc-jp, 他 出力変換で使用

$this->Emo();

}
}
?>

// の右側にある文字コード一覧から選んで設定します。
各文字コードの出力形態については、こちらをご覧下さい。
全てデフォルトであれば、$this->type~は省いて結構です。

"type_get_base"、"type_set_base"は呼び出し元ソースの文字コードを指定ください。
imgタグのaltの日本語や、キャリア間コンバートできなかったときの日本語の文字コードなどに使用されます。
ホームへ