[PHP-doc 272]Re: mbstringの'auto'に関する記述

Youichi Iwakiri yiwakiri @ st.rim.or.jp
2004年 6月 25日 (金) 12:29:17 JST


いわきりです

<mlbox @ byoon.com> wrote in <20040623222957.6FAC0E30.mlbox @ byoon.com> :
>>| "auto" が指定された場合、この文字列 は、"ASCII,JIS,UTF-8,EUC-JP,SJIS"に 変換
>されます。 
>>と記述がありますが、
>これは、web上のマニュアルでいえば
>http://www.php.net/manual/ja/ref.mbstring.php
>のことですよね?

そうです。その他数個所に同様の記述があります。

>もしそうなら、このページの"導入"冒頭に
>>PHPは、基本的にISO-8859-1用に設計されているため、
>>いくつかのマルチ バイト文字エンコーディングは、
>>PHPで正常に動作しません。
>>このため、 mbstring.language に適切な言語(日本語の場合は Japanese)、
>>mbstring.internal_encoding にPHPで動 作する文字エンコーディングを
>>設定することが必要です。
>との記述があります。故に、
>
>>php.iniに
>>mbstrnig.language = japanese
>>が無い場合、またはスクリプト内に
>>mb_language('japanese');
>>が無い場合に
>>"ASCII,UTF-8"
>>にしか変換されません。
>これは自明なことではないでしょうか。

php-4.3.3以前とphp-4.3.4以降で動作が異なります。
mb_language();はphp-4.3から追加された関数ですが、
php-4.3.3までは、特に意識しない限りmbstringを有効に
した場合、japanese supportが有効で'auto'は、
mbstring.languageの設定に関係なく
'ASCII,JIS,UTF-8,EUC-JP,SJIS'と扱われます。
--enable-mbstring=allとして多国語対応にした場合は
別だったと思いますが。

php-4.3.4以降は、最初から多国語対応が有効になり、
mb_language();と密接に係わりあっています。

この辺りの経緯も含めて考えれば、マニュアルの修正は
必要ではないかと考えます。

phpdoc-ja/ja/reference/mbstring/ 以下の該当する箇所のpatchを
週末に準備します。
その際に、どなたかcommitして頂けませんか。


-- 
Youichi Iwakiri



PHP-doc メーリングリストの案内