オウンドメディア成功の秘訣は「ロジカル×エモーショナル」。必要な戦略と事例を大公開!【PLAN-B×LIG共催セミナー】
オウンドメディア成功の秘訣は「ロジカル×エモーショナル」。必要な戦略と事例を大公開!【PLAN-B×LIG共催セミナー】
2008.04.02

mb_strlenで文字をカウントする時の注意点

ゴウ
// フォームで入力されたテキストを入れる
$text = $_POST['text'];

//入力された文字列の長さをカウント
$txt_length = mb_strlen($text);

フォームで入力された文字の長さをカウントしたのですが、マルチバイト文字のカウントが何故か2倍に。

たとえば”あ”と入力すると、2とカウントされる。あれれ?mb_strlenってマルチバイト文字も1個と数えるんじゃなかったの?

エンコーディングが必要でした

// フォームで入力されたテキストを入れる
$text = $_POST['text'];

//入力された文字列の長さをカウント
$txt_length = mb_strlen($text,"utf-8");

第二引数で、utf-8にエンコーディング指定をしてあげたら直りました。

単純な事でしたが、ちょっと躓いたので、メモメモ。