[PHP-dev 33] Zend Engine国際化パッチ
Masaki Fujimoto
php-dev@php.gr.jp
Sun, 08 Jul 2001 14:18:25 +0900
ふじもとです。
この間の皆様のご意見やphp3の国際化版、mbstringモジュール等を参考にして、
新しくパッチを作りました。
http://www.studio-m.com/download/zend_multibyte.patch.gz
に置いてあります。対応phpバージョンは相変わらず4.0.6です。
(1) 使い方
今回は変更が多岐にわたったので(というほどでもないのですが)ディレクトリパッ
チになっています。
% tar zxvf php-4.0.6.tar.gz
% cd php-4.0.6
% gunzip -c ~/zend_multibyte.patch.gz | patch -p0
% ./configure ...
のようにしてmain/php_config.hを作成したら、このファイルに
#define ZEND_MULTIBYTE
の1行を追加してからmakeしてください。win32版の場合は
Zend/zend_config.w32.h
に同様の1行を追加してください。
(2) 機能
[encodingディレクティブ]
記述方法:
encoding "charset";
説明:
スクリプトファイルのエンコーディングを指定します。とりあえず
UTF-8 (UTF8)
EUC-JP (eucJP, x-euc-jp)
Shift_JIS (SJIS, x-sjis)
が指定できます(case insensitiveです)。が、Shift_JIS以外は指定してもしな
くても動作には影響を与えません。
備考:
encodingの指定に変数は使用できません。encodingディレクティブはそれ以降の
スクリプトに影響を与えます(つまり、encodingディレクティブより前のスクリ
プトの字句解析には影響しません)。
例:
<?php
encoding "Shift_JIS";
$sjis = "表";
print $s . "などの文字も正しく扱えるようになります";
?>
動作の説明:
長くなるので、とりあえずこのメールでは省略させていただきます。
(3) 既知のバグ
- phpsスクリプトによるソース表示時に、ヒアドキュメント中の文字列の一部が
正しく表示されません。
(4) その他
バグ報告やパッチに対する意見等をかなりお待ちしています。
--
Masaki Fujimoto
fujimoto@studio.co.jp
http://www.studio-m.com/