文字数をチェックしようとstrlen()やmb_strlen() を
使おうとしたが、使用している文字コードによって
マルチバイト文字(日本語など)の文字数が異なることが判明。
shift-jis = 2文字
utf-8 = 2文字もしくは3文字
mb_strlen()では、マルチバイトか否かに関わらず
1文字と表示するはずと思っていたが、
そうならないので、ググってみたら下記サイトで原因と回避方法が
紹介されていました。感謝です。
方法は検索文字列の後に文字コードを
指定してやれば良いようです。
echo mb_strlen("日本語", 'utf-8')
上記は
3
と表示されます。
One thought on “mb_strlen() 文字数を得る時の注意”