tokuhirom's blog.

'; DROP DATABASE database();

utf8::* なメソッドについて

↓こういうかんじ?

utf8::upgrade = latin1 → utf8
utf8::downgrade = utf8 → latin1
utf8::encode = Encode::encode_utf8
utf8::decode = Encode::decode_utf8(このへんはじっそうがちょっちちがう??)

ただ基本的にユーザサイドでこういうメソッドを明示的に呼ぶのはたいていのばやいまちがっている。utf8 であると断定してしまうのはよくないのこと。

ユーザがこれらのメソッドを明示的によぶのはたいていまちがい。Encode.pm をつかうのがよい。

utf8::decode は対象文字列にコードポイント 256 以上の文字がふくまれていない場合にはフラグをたてない。
http://subtech.g.hatena.ne.jp/miyagawa/20060820/1156076116

感触的には、Encode::decode_utf8 の方が期待にちかい。