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

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弾でした。






コメント

コメントをどうぞ








翻訳

最近の記事

カテゴリー

タグクラウド

execute remove フロントページ 投稿ページ トップページ install WIndows Note Convert META generator 日付 donwload file manage multibyte utf-8 unicode shiftjis euc console サイトマップ 問題 ParmaLink Redirect パーマリンク はみ出る pre テンプレート テーマ タグクラウド マルチランゲージ リダイレクト PHP(タグ) タグ table control HTML(タグ) コマンド 国際化(翻訳) SQLite(タグ) MySQL(タグ) qTranslate プラグイン(タグ) Wordpress(タグ)

リンク

このサイトは?

Joomla!,WordpressなどCMSを使ったサイト構築、サイト管理からソフトウェアの使用方法、開発環境までのヒントを記述します。

  • はてなブックマークへ追加する
  • Facebookでシェアする
  • twitter でつぶやく
  • Google Plusでシェアする
  • Pocketでシェアする
ページトップへ