Home > 開発関連 > PHPのstrlen()

PHPのstrlen()

このタイトルを書いて、あのことだなとご想像がつく方も多いと思いますが、
まさにその通りのお話です。。。
UTF-8の環境にて、PHPのstrlen関数で文字列のカウントをすると、
全角文字が2バイトではなく1から6バイトとしてカウントされるというものでした。
 
この開発日誌を読み直してみたところ、1年前くらいにサイトの文字コードを
SJISからUTF-8に変えていたので、この間あちこち不具合あったのだろうな
と恐縮するばかりです。
 
さて、対処方法ですが、こちらに解説付きでまとめられてますので、
詳しくはリンク先をご確認頂きたいと思いますが、
要はstrlen()を使う時には文字コードをSJISに変えてしまえということでした。



strlen(mb_convert_encoding($text,"SJIS","UTF-8"))


放ったらかしの画像掲示板を少々手入れした際に、
文字カウントがどうもおかしい....と思って気が付いたのですが、
なんともお恥ずかしいお話です。
 
 
imgbbs_201109.gif
さて、その放ったらかしだった画像掲示板ですが、
ホント僅かではありますが書き込みもあったようなので、
せっかくですからサブドメイン化をして、ディレクトリと分けてみました。
それに合わせてデザインも少々変え、サイト名も画像掲示板の泉としてあります。
見よう見まねで作った掲示板プログラムですので、まだ不具合多いとは思いますが、
よろしければご利用下さい。
 
 
1クリックお手を拝借。
blog_rank.gif

ブログランキング・にほんブログ村へ

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://www.dtn.jp/mt/mt-tb.cgi/129
Listed below are links to weblogs that reference
PHPのstrlen() from dtn開発日誌

Home > 開発関連 > PHPのstrlen()

カレンダー
«前月 2011 9 翌月»
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
リンク
検索
Feeds
ブックマーク

ブログパーツ

dtn訪問者は約人くらいです

フィードメーター - dtn開発日誌

↑ページの上部へ