PHP 文字数とバイト数 UTF-8

WEBの世界ではUTF-8を通常使用するがCSVやDBとの連携でshft-jisの世界も
必要である。

文字列の場合、全角半角混じりの扱いがやっかいである

・文字列の長さの場合
strlen なら全角3バイト 半角1バイト
mb_strlen なら半角全角に関わらず文字数
mb_strwidth なら半角1文字 全角2文字で判断してくれる

これを組み合わせると文字数で切り出しが可能である

文字の切り出しには

mb_substrを使うが、必ず UTF-8を指定して置くこと
($data, $i,1 ,’UTF-8′);
なぜかとんでもないところの場所でのエラーになる。

補足、後日わかったことだがkozgopromediumフォントの場合、半角カナのの
印字ピッチは全角と同じピッチになるので要注意

カテゴリー php