【BiTT】俺のクローン作るしかなくね!?
【BiTT】俺のクローン作るしかなくね!?

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にエンコーディング指定をしてあげたら直りました。

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