PHPマニュアルにあるように
 この関数はロケール設定を考慮します。もし LANG が例えば en_US.UTF-8 の場合、 ファイル中の 1 バイトエンコーディングは間違って読み込まれます。

コマンドラインで直接叩くとちゃんと動いているのに、crontabで動くとちゃんと取り込めないという現象に遭遇しました。

 0 0 * * * /usr/local/bin/php /home/user/update.php

とたとえばしていた場合は

 $ vi /home/user/update.sh
 export LANG="ja_JP.eucJP"
 /usr/local/bin/php /home/user/update.php
 $ chmod 700 /home/user/update.sh

として、crontabは

 0 0 * * * /usr/local/bin/php /home/user/update.sh

とすると多分うまくいきます。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS