【PHP】substrかmb_substrか半角カタカナの文字を切り出す細かいこと
日本語の場合、substrだと、全角に対応していないので、mb_substrを使うことになります。
半角カタカナが厄介ですね
$str = "カキクカキク"; echo mb_substr($str,0,1);
結果は
?
文字化け状態
結果
mb_substrですが、文字コードをちゃんと指定しないとうまく動かないことがあります。
mb_substr($str,0,1"utf-8");
やっていたソースは、UTF-8だったので、その指定をしたら、半角のカタカナも含め
$str = "カキク"; echo mb_substr($str,0,1"utf-8");
の結果も
カ
と正常動作してくれました。
文字コード指定していないと桁数まで違ったのですが、ちゃんと文字コードを指定するだけで桁数も正常に動作してくれるようになりました。