[PHP-dev 31] Re: ZendのSJIS 対応パッチを作ってみました
Masaki Fujimoto
php-dev@php.gr.jp
Wed, 04 Jul 2001 19:15:21 +0900
ふじもとです。
On Wed, 04 Jul 2001 18:27:11 +0900
Hiro Yoshioka <hyoshiok@miraclelinux.com> wrote:
-snip-
>
> ところで、エンコーディングに依存した処理は
> php-3.Xでは、どーやっていたかとコードを見ると、
> どーも、i18n_script_input_new() とかで
> script_encodingからinternal_encodingへ変換して
> その後にparseしている感じですね。
僕はPHP4が出てからPHPを使い始めた人なので、ついこの間までphp3の国際化版
を使ったことがありませんでした。
で、今日始めてソースを見たのですが、非常によくできていると思いました。国
際化チームの方、尊敬です。
それでZendの国際化なのですが、先程のパッチは「Zend社がZend Engineの国際
化をしてくれるまでとりあえず」といったニュアンスで作り始めてしまったので、
きわめていいかげんなものだったりします。すみません。
どうやら本格的に対応してみよかな、という感じもしてきたので「SJIS対応」で
はなくて「国際化」を念頭において対策を考え中です。国際化版php3やmbstring
モジュールのソースは非常に参考になりますね。
基本的には、
(1) encoding "文字コード";
でスクリプトエンコーディングを指定して、
(2) 指定されたエンコーディングが特殊な字句解析を必要とするものかどうかを
判別し、
(3) (2)の結果にしたがって字句解析
という感じでしょうか。今回はエンジン内部でのエンコーディング変換はとりあ
えず考えていません(将来的には行うにしても)。
# encodingディレクティブを試しにつけてみました。構造上、変数をつかえない
のが痛いところですね
--
Masaki Fujimoto
fujimoto@studio.co.jp
http://www.studio-m.com/