Joomla!,Wordpressでサイトを構築するためのヒント

Joomla!,Wordpressでサイトを構築するためのヒント

購読(RSS)

phpでUTF-8対応を行う時の注意点

公開日| 2009年07月17日 | コメントはまだありません。

phpは、非常に簡単にWEBアプリケーションを作成できます。
また、今日では、国際化を行う上でも、ShiftJisでの記述を止めるようになってきています。
Linux関連のOSでは、この国際化のために、UTF-8という規格のUNICODEを採用しています。
そのため、WEBアプリもUTF-8への対応が加速しています。

phpは、標準でUTF-8への対応がなされていますが、問題は、Asciiと混在ができることです。
つまり、英語圏では、UTF-8とAsciiは、ほとんど(?)意識せずとも良いようになっていますが、東アジア圏では、きっちりと意識しないと文字化けを起こします。

単純な例が、文字のサイズです。
ほとんどの英語圏のphpで書かれた文字サイズは、バイトで、切り出したり、くつけたりしています。
このバイトでの制御は、東アジア圏では、文字サイズ(文字数)で、切り出したり、くつけたりしないといけません。

例えば、

if(strlen($content) > 128){
     $content =  substr($content, 0, 128);
}

上記のようなコードでは、バイト数で管理されているので、最後(127,128バイト目)の文字が日本語の場合、文字化けすることがあります。
このような場合は、以下のように文字数で管理すると、うまく表示できるようになります。

if(mb_strlen($content,'UTF-8') > 128){
    $content =  mb_substr($content, 0, 128,'UTF-8') ;
}

超基本的なphpのお話第2弾でした。


ブックマークへ追加: はてなブックマークへ追加するdel.icio.usLivedoor ClipYahoo!FC2Nifty ClipPOOKMARK. AirlinesBuzzurl(バザール)Choixnewsing

Trackback URL

このコメントは管理人から承認された後、表示されます。


コメント

コメントをどうぞ





*