[PHP-users 28113] Re: setlocale()が動作しなくなる事がある
Masanori Kobayashi
markun @ leo.bekkoame.ne.jp
2006年 1月 14日 (土) 14:19:52 JST
上鍵 様
小林です。
色々、調べていただきありがとうございます。
テストしてみました。
----------------------------------------------
$ echo "漢字,項目,機能,表" | iconv -f EUC-JP -t Shift_JIS | ./php -r
'var_dump( setlocale( LC_ALL, "ja_JP.SJIS")); var_dump( fgetcsv( STDIN,
8192));' | iconv -f Shift_JIS -t EUC-JP
string(10) "ja_JP.SJIS"
array(4) {
[0]=>
string(4) "漢字"
[1]=>
string(4) "項目"
[2]=>
string(4) "機能"
[3]=>
string(2) "表"
}
----------------------------------------------
setlocale()がきちんと動作してlocaleの変更が出来ているかぎり、問題なく
fgetcsv()も動作するようです。
setlocale()が動作しなくなるタイミングが何なのか、それが知りたいところで
す。一度、動作しなくなるとなかなか動作するようにはならず、コマンドライン
で"locale -a"をたたいてみたり、アパッチの再起動をしないとsetlocale()が動
作しなくなります。
アパッチをworkerで動かしているのですが、setlocale()がスレッドセーフティ
ではないのかな・・・。
--
_/_/ Masanori Kobayashi
PHP-users メーリングリストの案内