[PHP-dev 255] Re: PHP 5/Zend Engine 2の国際化について

Tatsuo Ishii php-dev@php.gr.jp
Fri, 08 Mar 2002 18:27:56 +0900


石井です.

> 内部文字エンコーディングについては、コンパイル時にconfigureで
> 指定し、固定で良いと思います。
> (--with-internal-encoding=UNICODE とか、)

私としては,内部エンコーディングがUnicode固定という最悪の実装でなけれ
ば,configureで内部エンコーディングが切り替えられるのは適当な落しどこ
ろだと思います.

> 内部文字コードに
> 切替えられることにメリットがなくもないですが、Shift_JIS/CP932の
> 取り扱いに問題がなければ、内部文字コードとして何を使っても問題は
> ないでしょうし、かえって混乱をまねく可能性の方が大きいと思います。

御意.

> >   (5) 結局どうなのか
> > 
> >     結局現時点では、ほぼ全ての問題は「内部エンコーディング」ということに
> >     集約されると思います。参考までに幾つか案を上げて見ますと(実装の実現
> >     性云々は無視しています。実は最後にここを書いていて頭が飽和状態です:(
> > 
> >     - 現状(PHP3国際化版)のまま
> >     - UCS-4(もしくはUCS-2、はたまたUTF-16)を強行採用
> >     - Mule Internal Encodingはどうでしょう?
> >     - UTF-8に固定
> >     - UTF-8に固定だとISO-8859-xな人々がアレなのでUTF-8もしくは素通し
> >     - コンパイル時にユーザが指定(選択肢は?)
> 
> (1) UCS-2
> (2) UTF-8 or ISO-8859-1
> 
> あたりをコンパイル時に指定に1票です。

内部処理でワイド文字を使うのであれば,どんなエンコーディングを採用して
も処理ロジックは同じになるので,もう少し選択肢を増やしてもいいのではな
いかと思います(もちろん,ワイド文字<-->マルチバイト文字の相互変換の部
分は同じにはなりませんが).EUC-JP位は追加したいところです.

ところで,内部コードをUnicodeにしても,まじめにUnicodeの合成文字とかに
は対応しないのですよね?
# 別に対応したいと思っているわけではなく,むしろおおごとなのでいやだな
# と思っています.
--
Tatsuo Ishii