PHP5のfgetcsv()関数はロケールと文字コードを正しく設定しなければならない

Nabble – Php Japan – PHP-dev – [PHP-dev 1205] PHP5のfgetcsv()関数について

PHP 5.0 の fgetcsv() はロケールの設定に依存します。

だそうです。

locale の設定はsetlocale() 関数によってスクリプト中で動的に変更可能です。

ので、問題がある時は変更します。

CSV処理は作ってみると想像以上に面倒なのでfgetcsvを利用したいところですが、その陥穽にはまらないように、ということで。気をつけましょう。

関連する記事:

Powered by

  1. ロケールが ja_JP.eucJP の場合、
    機種依存文字 ( ①㈱など ) が化ける場合があります。

    下記サイトでは fgetcsv() の互換関数を用意しています。

    http://yossy.iimp.jp/wp/?p=56

  2. ロケールがeucJPなどの場合に、UTF-8などで作られたcsvの機種依存文字が化けちゃうのは、もう、なんとも出来ないですよね。
    URLの互換関数はすごいですね。やっぱりCSVの処理は予想よりも難しい。。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">