tagTimeLog Lite

Simple time tracking tool
Developed by Namu Work Studio

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() 文字数を得る時の注意

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

tagTimeLog Lite

Simple time tracking tool
Developed by Namu Work Studio