mb_strlen() 文字数を得る時の注意

文字数をチェックしようとstrlen()やmb_strlen() を
使おうとしたが、使用している文字コードによって
マルチバイト文字(日本語など)の文字数が異なることが判明。

shift-jis = 2文字
utf-8 = 2文字もしくは3文字

mb_strlen()では、マルチバイトか否かに関わらず
1文字と表示するはずと思っていたが、
そうならないので、ググってみたら下記サイトで原因と回避方法が
紹介されていました。感謝です。

21. mb_strlen()関数の落とし穴

方法は検索文字列の後に文字コードを
指定してやれば良いようです。

echo mb_strlen("日本語", 'utf-8')

上記は

3

と表示されます。

One thought on “mb_strlen() 文字数を得る時の注意

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

tagTimeLog Lite

Simple time tracking tool
Developed by Namu Works