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