• 締切済み

Unicode-Japaneseでの絵文字変換

Unicode-Japaneseを使って別キャリアの絵文字を相互変換しようと 思っています。 ソースはShift_JISで作成、画面表示もShift_JISです。 $in{text}はformからの受取です。Softbankの3G端末でテストしています。 入力を受け取り、一度、utf8に変換後、また元に戻しているつもりですが、 $str2を画面に表示しても、絵文字が化けてしまっています。 (普通のテキストなら化けません) 何か考え方が間違っているでしょうか。 以下、変換して戻している部分です。 うまくいった場合には、$str1 をデータとして保存しようと思っています。 $s = Unicode::Japanese->new($in{text},"sjis-jsky"); $str1 = $s->conv("utf8"); $s = Unicode::Japanese->new($str1,"utf8"); $str2 = $s->conv("sjis-jsky"); よろしくお願いいたします。

みんなの回答

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

??絵文字?? 顔文字じゃなく絵文字? 画像っぽい1文字の表現の絵文字? どっちにしろutf経由だと(日本の)携帯の絵文字は認識不能の変換できないコードだから化けるんじゃない? どうしてもというなら変換表を作り、一旦別表記…別キャリアに送ると表示されるような"[なす]"の様な手合いかこのサイトのリンクみたく有り得ない実態参照変換…つまり別の化けないascii文字列へ変換してから戻すって形にしたら良いんじゃないかな。 文字列はどこかのBBSやSNSとかで使われるような変換を参考にしたら良いと思うよ。

kt_yuka
質問者

補足

はい。絵文字です。 http://search.cpan.org/~hio/Unicode-Japanese-0.44_02/lib/Unicode/Japanese/JA.pod#(21205)(20316)(12395)(24517)(35201)(12394)(12418)(12398) これを使おうとしています。 Encode::JP::Mobileでは成功するのですが、どうしてもPurePerlのものが ほしくて試しています。

関連するQ&A