[PHP-dev 686] Re: FYI: i18n 関連のバグレポート (UTF-8 BOM)

Moriyoshi Koizumi php-dev@php.gr.jp
Sun, 09 Feb 2003 17:32:25 +0900


小泉です。

Rui Hirokawa <rui_hirokawa@ybb.ne.jp> wrote:
> ASCIIだけ処理できれば良いという人がコアにいると厳しいですね。
> PHPの総ユーザでみたらASCIIだけで困る人の割合は高いと思いますし、
> Webの世界での標準をサポートしないのは変ですね。

XML だなんだと騒いでおきながら、標準に無関心とは…。

# ASCII と ISO-8859-1 の区別がつかない人が多いのかも

> php5-devとかで、PHP5/ZendEngine2がらみの話題が盛んですので、小泉さんの
> おっしゃるとおり、国際化に対しても議論/作業を本格的に進めないといけない時期に
> きています。

例のライセンスの件は置いておいて、今は php-conv というフレームワークを
作っています。これは、コンバータをスタートアップ時に動的に登録できる
iconv のような仕掛けです。

ext/standard/filters.c にその断片がありますので、一度機会があればごらんに
なってください。

このフレームワークにより、strip_tags / utf8_encode / utf8_decode などを一
つの関数にまとめることができると思いますし、
また、フィルタを使うことで、mb_output_handler でやっていたような処理がさら
に柔軟に適用できると考えています。たとえば、

stream_filter_append(STDOUT, "convert.encoding", array("euc-jp", 
"shift_jis"));

stream_filter_append(STDOUT, "convert.strip_tags", 
array("allow"=>array("b","i")));

stream_filter_append(STDOUT, "compress.zlib");

のようにできますので。

これがコアに統合されれば、substr などの文字列処理関数の部分はまだ議論の余
地がありますが、少しは首尾一貫したものになるのではと期待しています…。