プロが教えるわが家の防犯対策術!

今、文字列関数をしています。参考書通りにしたのですが、ブラウザでは思い通りに表示されません。

<?php
$str = "PHPの絵本";
$length = strlen($str);
?>

を表示させたいのですが、

<?php
$str = "PHPの絵本";
$length = strlen($str);
print $length;
?>

で良いのではと思って、ブラウザで表示させたのですが、参考書では
「9」が表示されるみたいなのですが、「12」が表示されます。
さらに

<?php
$str = "PHPの絵本";
$length = mb_strlen($str);
?>
も表記させたいのですが、同様に

<?php
$str = "PHPの絵本";
$length = mb_strlen($str);
print $length;
?>

と書きこんだのですが、参考書では「6」が出るみたいのなのですが
自分のブラウザでは「12」が表示されます。どうしてなのでしょうか?

A 回答 (2件)

PHPが全角・半角の違いでは??


mb_strlenはmb_strlen($str, 'UTF-8')とすれば意図した値になるかと。
    • good
    • 0
この回答へのお礼

PHPが全角・半角の違いか??についてですが、半角ですね。ここでは間違えて全角にしていますが・・・。

>mb_strlenはmb_strlen($str, 'UTF-8')とすれば意図した値になる>かと。

ありがとうございました。うまくいきました。あとは上の方だけですね。

お礼日時:2007/11/09 03:02

扱ってる文字コードが誓うからだね。


その参考書、文字コードがUTF-8なんだけど 動作させてる方はEUC-JPやShift_JISだったりするんじゃない?
    • good
    • 0
この回答へのお礼

あぁ~そうですね。
参考書がEUC-JPっぽくて、動作環境はUTF-8ですね。
これが原因だったんですね。
ここまではうまく動作していたのですが、バイトの問題になってくると違う表記になるんですかね!?
かなり助かりました。ありがとうございました。

お礼日時:2007/11/08 09:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!