2007-06-07スマートフォン用の表示で見るUnknown::Programmingこの広告は、90日以上更新していないブログに表示しています。2007-06-07Jcode->new($s,'cp932')->z2hで絵文字が化ける件Perl困ったちゃんです。絵文字を壊さずにsjis⇔utf8変換をしようと思ったわけです。ついでに全角⇔半角もやろうと思ってタイトルの通りにやってみた所、$sに絵文字が含まれていると何故か絵文字が化けるのです。なんで化けるんだ?と思ってz2h覗いてみたらびっくり仰天。なななんと一旦文字コードをeucに変換してEncode::JP::H2Zを使って全角⇔半角変換をし、元の文字コードに戻すということをやっているわけです。なんでそんな実装になってるのかというとEncode::JP::H2Zがeucを前提としているからです。Encode::JP::H2Zがutf8前提で作られてばモウマンタイなのですが・・・。んだけど結局どーすんのが一番いいのかなぁと。Encode::decode('cp932',$s)でも可で対応したんだけど、できればキャリアの判別とかしたくないんでcp932だけで処理したいのでつがねぇ・・・。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。