EscapeJIS.pm - Escape Kanji and emoji in ISO-2022-JP
use EscapeJIS; my $text = "\e\$B#J#I#S\e\(B  \e\$B3(J8;z\e\(B\n"; EscapeJIS::unescape( \$text ); EscapeJIS::mime_encode( \$text ); print $text;
escape 関数では、今のところ何もしません。 将来的には、ISO-2022-JP 中の文字のエスケープに対応したいです。
unescape 関数では、JIS コードの文字列中に含まれる &#xHHHH; 形式の 携帯絵文字やIBM拡張漢字を適切なバイナリコードに変換することで、 メール中でも絵文字や拡張漢字を利用できるようにします。
ドコモ絵文字 &#xHHHH; 形式からバイナリコードに変換します。 Outlook や Becky! では絵文字フォントがあれば 表示可能ですが、ドコモ携帯実機では表示できません。 携帯実機宛には Shift_JIS のメールを利用してください。 Vodafone絵文字 &#xHHHH; 形式からバイナリコードに変換します。 Vodafone携帯実機で表示可能です。 EZweb絵文字 &#xHHHH; 形式絵文字をバイナリコードに変換します。 EZweb携帯実機で表示可能です。 IBM拡張漢字 &#xHHHH; 形式の該当漢字をバイナリコードに変換します。 対応しているのは、IBM拡張漢字と丸数字、「〜」です。 それ以外の全ての漢字を変換するわけではありません。 それ以外の漢字は EscapeUTF8::unescape を利用してください。
mime_encode 関数では、メールヘッダの変換に対応します。 先に unescape した後に mime_encode を呼び出してください。 なお、Jcode.pm の mime_encode 関数では絵文字類のコードが 含まれる場合に文字化けする可能性があります。
http://www.nttdocomo.co.jp/p_s/imode/tag/emoji/list.html http://www.dp.j-phone.com/dp/tool_dl/web/picword_01.php http://www.au.kddi.com/ezfactory/tec/spec/3.html
Copyright 2004 Kawasaki Yusuke u-suke [at] kawa.net