PHPの mb_strlen関数で、 1文字3バイトになる
(参考)
http://hamamuratakuo.blog61.fc2.com/blog-entry-421.html
● 文字のバイト数は、文字コードごとに異なる
Shift_JIS : 半角文字・1バイト、全角文字・2バイト
UTF-8 : 半角文字・1バイト、全角文字・ 2-6バイト
● 解決策 : UTF-8をSJISに変換して、文字数をカウントする
strlen(mb_convert_encoding($str, 'sjs', 'utf-8'))
● mb_strlen を正確に動かすには
php.iniで内部エンコードを正しく設定するか、mb_stringで文字コードを指定する。
・ php.iniで文字コード指定
;mbstring.internal_encoding = EUC-JP
・ mb_string の第2パラメータでエンコーディングが指定できる。
(省略した場合、内部エンコーディングを使用)
mb_strlen($str,'utf-8')
0 件のコメント:
コメントを投稿