絵文字についての情報がまとめられたプレゼン資料「ケータイ絵文字のはなし」
    このエントリをはてなブックマークに登録

2007/11/19 月曜日 matsui Posted in 記事紹介・リンク | No Comments »

本日は、各キャリアの絵文字についての情報がまとめられた「ケータイ絵文字のはなし」をご紹介します。

もの凄い数のはてなブックマークがついているため、皆さんはすでにご存じかもしれませんが、私はつい先日偶然検索で見つけました。

→ ケータイ絵文字のはなし [memokami.com] ※swfファイルです

Google検索で見つけたもののため、親ページがわからず直リンクです。すいません。

  • ウェブへの絵文字の表示
  • ウェブからの絵文字の取得
  • メールに絵文字を送る
  • メールから絵文字を受け取る

について、簡潔にまとめられており大変参考になります。

 

また、上の階層をたどるとこのようなページもありました。

→ memokami:: 第2回モバイル勉強会で「キャリア判別と絵文字の扱い」を発表してきました [seesaa.net]

こちらにも「キャリア判別と絵文字の扱い」というPDFの資料があるようです。

 

※追記
親ページを見つけました。こちらです。
→ memokami:: モバイル勉強会で「ケータイの絵文字の扱い方」について話してきました [seesaa.net]




PHPの絵文字変換ライブラリ「MobilePictogramConverter」がバージョンアップ
    このエントリをはてなブックマークに登録

2007/11/18 日曜日 matsui Posted in PHP, ソフト紹介, 記事紹介・リンク | No Comments »

先日ご紹介させて頂いたばかりの、PHPで作られた3キャリア対応絵文字変換ライブラリ「MobilePictogramConverter」が、2007/11/17付けでバージョンアップしたようです。
現在の最新verは1.1.0となります。
活発に開発が進んでいるようですね。

→ 開発Blog「PHPとか」 MobilePictogramConverter 1.1.0 リリースのお知らせ [hatena.ne.jp]
→ ダウンロードページ MobilePictogramConverter [php-develop.org]

 

「かなりのコード修正が入っているので、以前のバージョンを使用されている方は早急にアップデートする事をお勧めします。」とのことです。
変更点は次のようにアナウンスされています。

・対応/追加

 1. SoftBank絵文字のShift_JIS(バイナリコード)に対応
 2. 文字列に含まれる絵文字の数を返す、Countメソッドの追加

・修正/変更

 1. PHP4で正常に動作しないバグを修正
 2. SoftBank絵文字(UTF-8)が正常に変換されないバグを修正
 3. EZweb絵文字(UTF-8)を変換する際に使用される、
   マップファイルを使用しない様に変更
 4. 定数名 MPC_CHARSET_SJISをMPC_FROM_CHARSET_SJISに変更
 5. 定数名 MPC_CHARSET_UTF8をMPC_FROM_CHARSET_UTF8に変更
 6. メソッド名 isEmojiをisPictogramに変更
 7. i-mode絵文字(Web入力コード)から他の絵文字へ変換する際に
   一部の絵文字が変換されないバグを修正
 8. コーディングルールを変更 (インデント等)

私も検証等で微力ながら協力したいと思います。
rysterさん、色々と大変でしょうけれど、これからも頑張ってください。

 

関連:




ケータイに絵文字入りメールを送信するには(SoftBank編)
    このエントリをはてなブックマークに登録

2007/11/17 土曜日 matsui Posted in PHP, SoftBank | 11 Comments »

iモード編au(EZWeb)編、とご紹介してきた、絵文字入りメール送信プログラム。
最後はソフトバンク編です。

ソフトバンク向けのサンプルコードは次の通りです。

サンプルコード(ソフトバンク用)

<?php
// ソフトバンクに絵文字入りメールを送るサンプル

$to = '[ソフトバンクのアドレス]@softbank.ne.jp';
$from = 'example@example.jp';

$subject = '$Pe絵文字入り題名デス$OW';
$body = '絵文字入りの$E#本文デス。$E%';

// MIMEエンコーディングを行う
$subject = "=?shift_jis?B?" . base64_encode($subject) . "?=";
$body = base64_encode($body);

// ヘッダを作成
$headers = "From: " . $from . "\\n";
$headers .= "MIME-Version: 1.0\\n";
$headers .= "Content-Type: text/plain; charset=Shift-JIS\\n";
$headers .= "Content-Transfer-Encoding: base64";

// メールを送信
$res = mail($to, $subject, $body, $headers);

// 結果を取得
if ($res) {
	echo "OK\\n";
} else {
	echo "NG\\n";
}
?>

※ソースコードはSJISで記述しています
※Blog上からは絵文字が正常に表示できません、絵文字部分は入力し直してください。

 

ソフトバンクの絵文字メール送信は割とシンプルで、Webと同じように絵文字コードをコピペして、本文やタイトルに貼るだけです。
あとはドコモと同様に、Shift-JISのヘッダをつけてメールを送信してあげればOKです。

ただし、メールが表示できるかどうかは、端末のメーラーに依存してしまうようなので、古い機種や特殊な機種に関しては絵文字の表示は保証できないようです。

emoji_sb.jpg

 

関連:




ケータイに絵文字入りメールを送信するには(au編)
    このエントリをはてなブックマークに登録

2007/11/16 金曜日 matsui Posted in au, PHP | 3 Comments »

携帯電話に絵文字入りのメールを送信するプログラム。
昨日のiモード編に続いてau(EZWeb)編です。

auのサンプルコードは下記の通りです。

サンプルコード(au用)

<?php
// EZWebに絵文字入りメールを送るサンプル

$to = '[auのアドレス]@ezweb.ne.jp';
$from = 'example@example.jp';

$emoji_ez = makeEzEmoji('EC94');		// EZマーク
$emoji_exclamation = makeEzEmoji('EB5A');	// !
$emoji_mail = makeEzEmoji('EBFA');		// メール
$emoji_smile = makeEzEmoji('EBD4');		// スマイル

$subject = $emoji_ez . '絵文字' . '入り題名デス' . $emoji_exclamation;
$body = '絵文字入りの' . $emoji_mail . '本文デス' . $emoji_smile . '。';

// 文字コードを変更
$subject = mb_convert_encoding($subject, "JIS", "SJIS");
$body = mb_convert_encoding($body, "JIS", "SJIS");

// MIMEエンコーディングを行う
$subject = "=?ISO-2022-JP?B?" . base64_encode($subject) . "?=";

// ヘッダを作成
$headers = "From: " . $from . "\\n";
$headers .= "MIME-Version: 1.0\\n";
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP\\n";
$headers .= "Content-Transfer-Encoding: 7bit";

// メールを送信
$res = mail($to, $subject, $body, $headers);

// 結果を取得
if ($res) {
	echo "OK\\n";
} else {
	echo "NG\\n";
}

/**
 * EZWeb絵文字変換関数
 * @param	string		$code		絵文字を表すコードの文字列
 * @return					絵文字
 */
function makeEzEmoji($code) {
	$emoji = '';
	for ($i = 0; $i < strlen($code); $i += 2) {
		$emoji .= sprintf('%c', hexdec(substr($code, $i, 2)));
	}

	return $emoji;
}
?>

※ソースコードはSJISで記述しています

 

プログラムの最初の方で定義している絵文字の4桁のコードは、こちらに表があります。
→ KDDI au 技術情報 EZweb絵文字一覧【タイプD】 [kddi.com] ※PDFです

この表の中の一番右にある「Eメール送出用JISコードに対応したShift-JISコード」というのを使用しています。
なお、先日ご紹介した「OshimaExe」というソフトでも入力可能です。

上記のように設定した絵文字を、他の文言ごとJISコードに変換し、ISO-2022-JPのヘッダをつけて送信しています。

emojimail_au.jpg

 

関連:




ケータイに絵文字入りメールを送信するには(iモード編)
    このエントリをはてなブックマークに登録

2007/11/15 木曜日 matsui Posted in DoCoMo, PHP | 1 Comment »

プログラム側からケータイに絵文字入りのメールを送りたいケースはよくありますが、通常の方法では文字化けしてしまい送信することができません。

キャリア毎に絵文字の扱いが違うため、それぞれ違うプログラムで対処する必要があります。
今回はiモード用のサンプルコードをご紹介します。

 

サンプルコード(iモード用)

<?php
// iモードに絵文字入りメールを送るサンプル

$to = '[iモードのアドレス]@docomo.ne.jp';
$from = 'example@example.jp';

$subject = '[iの絵文字]絵文字入り[キラキラの絵文字]題名デス[ハートの絵文字]';
$body = '[iの絵文字]モードの絵文字入り[キラキラの絵文字]の[メールの絵文字]本文デス。';

// MIMEエンコーディングを行う
$subject = "=?shift_jis?B?" . base64_encode($subject) . "?=";
$body = base64_encode($body);

// ヘッダを作成
$headers = "From: " . $from . "\\n";
$headers .= "MIME-Version: 1.0\\n";
$headers .= "Content-Type: text/plain; charset=Shift-JIS\\n";
$headers .= "Content-Transfer-Encoding: base64";

// メールを送信
$res = mail($to, $subject, $body, $headers);

// 結果を取得
if ($res) {
	echo "OK\\n";
} else {
	echo "NG\\n";
}
?>

※ソースコードはSJISで記述しています

絵文字はPC上からは表示できないため、「[ハートの絵文字]」のように表現してあります。
実際には「i絵文字」などのツールを使って、SJIS形式の絵文字を直接入力してください。

Content-TypeをShift-JISとすることや、Subjectをshift_jisでエンコードすることがポイントのようです。
こうしておけば、絵文字や半角カナも問題なく送信されるようです。

emojimail_i.jpg

 

関連: