[PHP-users 9659] mb_convert_encodingした後のmb_strlen

Ichijo Kaoru php-users@php.gr.jp
Sun, 01 Sep 2002 02:43:06 +0900


まだPHP初心者のichijoです.

現在EUC-JPで入っているのMySQLのデータを
ShiftJISしか表示しない端末のためのページを作っています。

取得したDBのEUC-JPのデータを
mb_convert_encodingでShiftJISに変換した後
mb_strlenで文字列の長さを調べると
byte単位の値が出てしまいます。
よってmbsubstrなども狂ってしまっているのですが
過去ログではこれらの話は出ていないようなのですが
これは私のサーバだけの現象でしょうか?

EUC-JPでのページではdbのデータを変換していないので
何も問題ないのですが...

例えばこんな...
$clでdbの値をとってきて以下
$sjcl = mb_convert_encoding($cl,"SJIS", "auto");
$iLen = mb_strlen($sjcl);
echo $iLen;
$sStr = mbsubstr($sjcl,0,3);
echo $sStr;

-------------
ichijo