[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 メーリングリストの案内