NAME

EscapeSJIS.pm - Escape IBM extended Kanji and emoji in Shift_JIS


SYNOPSIS

    use EscapeSJIS;
    my $text = "";
    EscapeSJIS::escape( \$text );
    EscapeSJIS::unescape( \$text, $ENV{HTTP_USER_AGENT} );
    EscapeSJIS::mime_encode( \$text );


DESCRIPTION

        escape( TEXT );

IBM 拡張漢字・携帯絵文字(3キャリア対応)は文字化けの原因となるため、 &#xHHHH; 形式に変換することで、Shift_JIS の文字列処理を安全にします。

    Windows  - IBM拡張漢字を &#xHHHH; 形式に変換します
    ドコモ   - 絵文字を &#xHHHH; 形式に変換します
    Vodafone - 絵文字を &#xHHHH; 形式に変換します
    EZweb    - 絵文字を &#xHHHH; 形式に変換します

上記以外の外字等については、下駄『〓』に変換します。 このモジュールで取り扱う文字コードは、Shift_JIS コードのみとします。 EUC-JP や UTF-8 への変換機能は含みません。

        unescape( TEXT, USER_AGENT );

Shift_JIS 文字列中の &#xHHHH; エスケープ部分について、 携帯機種ごとに適切なバイナリ絵文字コードに展開します。 ブラウザ種別ごとに復元利用できる場合に復元します。 対応しない絵文字は、削除されます。

        mime_encode( TEXT )

mime_encode 関数では、メールヘッダの変換に対応します。 先に unescape した後に mime_encode を呼び出してください。 なお、Jcode.pm の mime_encode 関数では絵文字類のコードが 含まれる場合に文字化けする可能性があります。


SEE ALSO

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

    Copyright 2004-2005 Kawasaki Yusuke <u-suke [at] kawa.net>