プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
PHP、mb_strlen()を使用するときの注意点
バグというのはひっそりこっそり潜り込むものなのです。

PHPで文字数を取得する「mb_strlen()」さん。
全角も半角も気にしないで文字数を取ってくれる素敵な奴ですが

mb_strlen('あいうえお');

とか書いてあるとたまに意図しない値を返す時があります。
PHPの内部エンコードと文字列のエンコードが
異なっているときに起こりうる問題だそーな。

回避策は簡単。
第2引数で文字列のエンコードを指定してあげましょうφ(--)

mb_strlen('あいうえお', 'utf-8');

これは徹底しておいた方が良いですよ(--)b

「え~、内部エンコードと合ってるからいーよ。めんどくせー」と
感じる方もいらっしゃるかもしれませんが、
そんな人は一度作ったものを別の環境に移したことないの(--?
作ったものを疑似環境でテストしてから
本番環境に移したことないの(--?

環境に依存する書き方はできるだけ避けておいた方が無難ですよ。

余談ですが、同じ理由で「<? ~ ?>」や「<?= ~ ?>」な書き方が
あまり好きではなかったりします。
横着しないで「<?php ~ ?>」って書こうょ(´・ω・`)
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● PHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事