システム開発ブログ

【PHP】mb_strlenを使用するときの注意

大島

大島 (2011年1月14日 22:22)
企画開発部 / PHP

みなさん、こんにちは。

今回はPHPでの文字数チェックについてお話したいと思います。

PHPで文字数のチェックをする際には、strlen()とmb_strlen()の2種類があります。
strlen()は文字列のバイト数を返し、mb_strlen()は文字列の文字数を返します。

ただし、mb_strlen()を使用するときには注意が必要です。

たとえば、以下のコードを実行してみます。

echo mb_strlen('アイロベックス');

mb_strlen()は文字数を返すので「7」が返ってくるはずですが、
「13」が返ってくる結果となりました。

これは、PHP内部のエンコーディングと文字列のエンコーディングが
異なっている場合に発生する現象です。
そのため、エンコードを合わせれば解決することができます。

以下のように、mb_strlen()の第二引数でエンコードの指定を行ってください。

echo mb_strlen('アイロベックス', 'UTF-8');

上記のように記述することで、正しい結果の「7」が返ってくるようになります。
※mb_strlen()の第二引数は、プログラムのエンコードに合わせて変更してください。

システムのトラブル解決を承ります。すぐにシステムリフォームを体験できますシステム診断・システムリフォームのお申し込みはこちらから。

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

ページのトップ