[PHP-dev 1083] Re: FreeBSD-5.3R + PHP-4.3.10 で、EUCJP-WIN/SJI
Tomoyuki Asakawa
tom @ asakawa.ne.jp
2005年 1月 5日 (水) 11:59:26 JST
あさかわ
> mbstring.internal_encoding = EUCJP-WIN
> ^
> ではなく、
>
> mbstring.internal_encoding = EUCJP_WIN
> ^
>
> 辺りが怪しいです。"_"にしたらOKでした。
PHP-5.3.0とPHP-4.3.10のソースを比較してみました.
これによると、EUCJP_WINという定義はありません.
なんとなく、想像ですが、PHP-4.3.10の場合は、未定義の場合のデフォルトがEUCなのではないでしょうか?
そのためうまく言った様に見えるのでしょう
あと、regexと、それ以外で、キーワードが違うのも問題ではないでしょうか?
ーーーーーーー
日本語に関連するものだけ抽出
PHP-5.0.3
Zend/zend_multibyte.cの中で定義
UTF-8 (utf8)
EUC-JP (EUC EUC_JP eucJP x-euc-jp)
Shift_JIS (x-sjis SJIS SHIFT-JIS)
eucJP-win (eucJP-open)
SJIS-win (SJIS-open MS_Kanji Windows-31J CP932)
JIS (ISO-2022-JP)
ext/mbstring/php_mbregex.cの中で使用
UTF-8 UTF8
EUC-JP EUCJP X-EUC-JP UJIS EUCJP EUCJP-WIN
SJIS CP932 MS932 SHIFT_JIS SJIS-WIN WINDOWS-31J
PHP-4.3.10
Zend/zend_multibyte.cの中で定義
UTF-8 (UTF8)
EUC-JP (EUC_JP eucJP x-euc-jp)
Shift_JIS (x-sjis sjis SHIFT-JIS)
ext/mbstring/php_mbregex.cの中で使用
UTF-8 UTF8
EUC-JP EUCJP X-EUC-JP UJIS EUCJP EUCJP-WIN EUC_JP
SJIS CP932 MS932 SHIFT_JIS SJIS-WIN
あと、ついでに、PHP5でPHP3の遺産のi18n*へのエイリアスが、削除されて
PHP3->PHP4 としていたソースを、PHP5に書き換えるのに不便だったのですが
下記のパッチでOKになります.
PHP5で,i18を抹殺したいのはわかるのですがね、PHP4とPHP5が共存できないことを考えると
レガシーモードとして残した方がいいのではないでしょうかねえ.
また、PHP5にREADME_PHP3-i18n-jaが、そのまま入ってますし.
*** mbstring.c.org Fri Dec 17 18:34:03 2004
--- mbstring.c Fri Dec 17 18:55:23 2004
***************
*** 205,210 ****
--- 205,223 ----
PHP_FE(mb_decode_numericentity, NULL)
PHP_FE(mb_send_mail, NULL)
PHP_FE(mb_get_info, NULL)
+ PHP_FALIAS(mbstrlen, mb_strlen, NULL)
+ PHP_FALIAS(mbstrpos, mb_strpos, NULL)
+ PHP_FALIAS(mbstrrpos, mb_strrpos, NULL)
+ PHP_FALIAS(mbsubstr, mb_substr, NULL)
+ PHP_FALIAS(mbstrcut, mb_strcut, NULL)
+ PHP_FALIAS(i18n_internal_encoding, mb_internal_encoding,
NULL)
+ PHP_FALIAS(i18n_http_input,
mb_http_input, NULL)
+ PHP_FALIAS(i18n_http_output, mb_http_output,
NULL)
+ PHP_FALIAS(i18n_convert,
mb_convert_encoding, NULL)
+ PHP_FALIAS(i18n_discover_encoding, mb_detect_encoding,
NULL)
+ PHP_FALIAS(i18n_mime_header_encode, mb_encode_mimeheader,
NULL)
+ PHP_FALIAS(i18n_mime_header_decode, mb_decode_mimeheader,
NULL)
+ PHP_FALIAS(i18n_ja_jp_hantozen, mb_convert_kana,
NULL)
#if HAVE_MBREGEX
PHP_MBREGEX_FUNCTION_ENTRIES
#endif
PHP-dev メーリングリストの案内