[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