[PHP-users 9670] Re: mb_convert_encodingした後のmb_strlen

Shigeki Mimura php-users@php.gr.jp
Sun, 01 Sep 2002 14:49:14 +0900 (JST)


三村です。

ichijokaoru> $sjcl = mb_convert_encoding($cl,"SJIS", "auto");

ここで$sjclにはSJISで文字列が格納されてます。

ichijokaoru> $iLen = mb_strlen($sjcl);

ここでは、internal_encodingの値で文字列長をカウントします。

internal_encodingはEUC-JPなのですよね?
だとしたら、その結果は間違っていないのです。
これをしたいのなら、上記の行の順番を入れ換えると
うまく行くと思いますよ。
もしくは、
$iLen = mb_strlen($sjc,"SJIS");
というようにencodingを指定してあげると思った通りに
動くはずです。