本ブログは2009年4月21日で終了しました。
今後はアイビースターでブログを運営していますので
そちらをご覧ください。
2008年01月06日

今後のPHPとUnicode

Posted by Hibi at 07:00
今後のPHPとUnicode


Web用開発言語のPHPを利用している人は世の中に数多くいますが、2007年でPHP4のサポートが基本的には終了しました。

これから新規にPHPを使用する場合はPHP5を使用することとなるのですが、その次のバージョンのPHP6はどのようになっていくのでしょうか?

下記に今後のPHPのバージョンとそれに関わるUnicodeについてちょっとだけ書いてみました。

最後のPHP4バージョンアップ


以前も書きましたが、PHPのもっとも利用されているバージョンだったPHP4のサポートが去年の暮で終了しました。今後は特別なことがない限りPHP4のバージョンアップはなくなるとのことですが、今年初めにPHP4の最後のバージョンアップPHP4.4.8が公開されました。(年越してるじゃん!)

そして、このPHP4のサポート終了に伴い、PHP4ではなくPHP5を使用していくことを推奨されています。

PHP5からPHP6へ


現在、PHP5のバージョンはPHP5.2.5が最新でリリースされているのですが、今年の1月にはPHP5.3がリリースされる予定です。

このPHP5系の次はPHP6がリリースされるのですが、そのPHP6ではUnicodeのサポートが追加される予定のようです。これらの情報については

2008年のPHP ―PHP5.3,そしてPHP6へ:技術評論社

の記事が参考になるかと思います。

UTF-8とUTF-16


ここで出てくるUnicodeのUTF-16ですが、現在一般的に使用されているUnicodeはUTF-8と何が違うのでしょうか?これについても

UTF-8とUTF16の違いは?

で解説されていますが、最初の方を見てみると「UCS」だと何やらよくわかりにくい言葉が並べてあります。しかし、下の方に
UTF-16の場合、2バイトで表現できる文字(0x0000~0xD7FF、0xE000~0xFFFF)はそのまま2バイトで表し、それ以降(0x00000000~0x0010FFFF)の文字は4バイトで表します。このため英数も日本語も全て2バイトで表現されます。しかし、UTF-8は英数は1バイトで表現し、日本語は3バイトで表現するようになっています。
と書かれているのを読んでみると何となく分かることでしょう。

もう少し砕いていみるとUTF-8の場合、「a」などの半角文字は1バイトとして扱い、「あ」などの全角文字は3バイトとして扱います。(本当は2バイトで収めたいのですが、漢字を含むとあまりにも多いので3バイトとして扱われています)

これに対しUTF-16の場合は「a」は2バイト、「あ」も2バイトとして扱います。

これ以上の文字コードについて知りたい場合は「文字コード超研究」という書籍がありますので、こちらを参照してください。(私も持っていますが、かなり詳しく書かれています)

何だかまとまりが無くなってしまいましたが、以上でおしまいです。(まとまりが無いのはいつものことか・・・)

Web系のプログラムを開発していると必ずと言っていいほど文字コードの部分で引っかかることがありますが、PHP6で少しでも楽になると嬉しいですね。(文字コードで引っかかるのはもしかして私だけ?)


タグ :PHPUTFUnicode

同じカテゴリー(PHP)の記事
 
Category is PHP.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>
明けましておめでとうございます。
本年も一つよろしくお願いします。

>文字コードで引っかかるのはもしかして私だけ?

いえいえ、そんなことはないと思いますよ。
EUC-JPだってSJISだって亜流がいろいろあるので(現にwindowsでSJISと言われているのは、"CP932"の事だし)、それによる弊害が色々あるのを、去年だけでもかなり経験しました。
いくつか私のブログにもエントリ書きましたし・・・。

これからサイト作る時はSJISやEUC-JPでは作らずにUTF-8で作る、というのは去年マイルールとして定めました(笑)
Posted by ルーパス齊藤 at 2008年01月06日 08:21
ルーパス齊藤さん

あけましておめでとうございます。
今年もどうぞよろしくお願いします。

> いえいえ、そんなことはないと思いますよ。

あ~良かった。
「文字コードで悩むなんてまだまだだね」
なんていわれちゃうかと思いました。(^_^;)

私も一時はEUC-JPで作るようにしていましたが
ここ最近はUTF-8ですね。これからはUTF-16に変わるのかな?
Posted by HibiHibi at 2008年01月07日 06:12
勉強になりました。
Posted by Windows 7 プロダクトキー at 2011年05月18日 14:54
きれいね。勉強になりました。
Posted by ANNASUI at 2011年05月18日 14:55
削除
今後のPHPとUnicode