そこで fgetcsv を実行する前に
setlocale(LC_ALL, 'ja_JP.SJIS');
を実行する。
が、しかし化ける。。
試しにEUC-JPを指定してみるといけている気がするけど、一部文字で化ける。。
そもそもなんでEUC-JP。。
で、コマンドからサーバーのロケールを確認
$ locale -a | grep JP
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
SJISが無い。。
CentOS 6 でも 7でも入ってない。。
って事で追加しよう。
$ localedef -f SHIFT_JIS -i ja_JP /usr/lib/locale/ja_JP.SJIS
をrootで実行して追加、そして確認
$ locale -a | grep JP
ja_JP
ja_JP.SJIS
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
そしてfgetcsvの確認。
setlocale(LC_ALL, 'ja_JP.SJIS');
fgetcsv(***);
とても良い感じ♪
SJIS無い、入れれないサーバーだと使えないな。。
しばらくこれで様子を見てみます。
0 件のコメント:
コメントを投稿