2007/11/27 火曜日

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

Filed under: 基本 — ne-zu @ 23:03:20 このエントリをはてなブックマークに追加

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

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

だそうです。

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

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

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

関連する記事:

Powered by

コメント (2) »

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

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

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

    コメント by test — 2007/11/29 木曜日 @ 15:06:50

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

    コメント by ne-zu — 2007/12/13 木曜日 @ 21:36:16

コメント RSS トラックバック URL

コメントをどうぞ

Powered by PHP-SeeD and WordPress ME