2011.02.17
マルチバイト文字の数え方(UTF8)
UTF8で書かれた文字列を何文字切り出したい!というとき、
・ utf8::decode($a); してから substr で切り出し、utf8::encode($x); で元に戻してから使う。
・ Encode::decode_utf8($text) してから substr で切り出し、Encode::encode_utf8 で元に戻してから使う。
Encode::encode_utf8(substr(Encode::decode_utf8($text), 0, 10));
ってな感じでうまくいくとのこと。
ナイス解説 ⇒ Kerosoft : Modus Operandi
試したら確かにうまくいった。
よし、明日は早く帰る・・・!