07/11/19 18:47:05 VBgYce8A
全半角混在したデータをmb_strcutを使って一定の文字数で改行を入れようと思ったのですが、期待通りに動いてくれません
FreeBSD6.1+PHP5.2.1で文字コードはEUC-JPです
とりあえずテストコードを書いてみました
<?php
mb_internal_encoding ( "EUC-JP" );
$src="xあいうえお";
echo mb_strcut($src,0,6); //(a)
echo " <> ";
echo mb_strcut($src,6); //(b)
?>
(a)については、先頭から6バイト目の「う」の欠片を捨てて「xあい」となりましたが、
(b)は「うえ」となり、最後の「お」がどうしても取れません。(「えお」ならまだわからなくもないですが・・・)
echo mb_strcut($src,6,6); や echo mb_strcut($src,6,6,"EUC-JP"); 等でもだめです。
何か勘違いしているでしょうか?
それともFreeBSDかmb_strcut()のバグでしょうか?