スキップメニュー:コンテンツへナビゲーションへ

乱雑モックアップ   らんざつ[乱雑] (名・形動)[文]ナリ 入り乱れていること。乱れていて秩序がないこと。また、そのさま。

mb_strlen()で変な値が返ってくる時は文字エンコードを指定する。

2010年 7月 18日 |

php |

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリーのブックマーク数

strlenは文字列の長さを取得する関数で戻り値はバイト数らしい。
そして、mb_strlenはマルチバイトを考慮して文字列の長さを取得できるそうだ。

こんな感じ。

print(mb_strlen("あ"));
//出力 1
print(mb_strlen("あいう"));
//出力 3

けれど、ローカルのxamppでは以下の値を取得してしまった。

print(mb_strlen("あ"));
//出力 3
print(mb_strlen("あいう"));
//出力 9

phpの内部エンコーディングと合わない時にそうなるみたいで、
解決法はmb_strlen()関数の第2引数に文字エンコードを指定すれば良いみたい

print(mb_strlen("あ","utf-8"));
//出力 1

あーびっくりした。

参考 / 21. mb_strlen()関数の落とし穴 – PHP TIPS:ITpro


コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする

You can add images to your comment by clicking here.




Back to Top↑

あわせて読みたい

Back to Top↑

RSS 乱雑モックアップのフィード

Copyright © 乱雑モックアップ. All Rights Reserved.