- 723 名前:nobodyさん [2008/01/04(金) 17:02:46 ID:HZMzJv1w]
- UTF8でPHPスクリプトを書いてます。
勉強のため、ユーザーがフォームから名前を入力して、ファイルに記録する簡単なスクリプトを書いて練習してます。 そこで名前は18バイトまでの入力を受付け、それ以上の入力はもう一度やりなおしさせるためのチェックをしてみました。 半角1文字=1バイト、全角文字1文字=2バイトとして計算したいのですが、ここで詰まっております。 UTFなため全角文字を3バイトとなってしまいます。 $_POST['name']←これがユーザーが入力した名前が入ってる変数です ためしに、フォームより、名前「あああ」を入力してみたとして、6バイトとしてサーバで解釈したいのですが、 echo strlen($_POST['name']);←これだと半角1バイトですが、全角3バイトで9と表示されます。 echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。 どなたかご教授お願いします。
|

|