デフォルトのまま、当ライブラリを使用されると、
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の日本語や、キャリア間コンバートできなかったときの日本語の文字コードなどに使用されます。