[PHP-dev 868]fgetcsvてゆーか、ファイル入出力の、5cの罠

Tomoyuki Asakawa tom @ asakawa.ne.jp
2003年 8月 26日 (火) 15:42:18 JST


あさかわです。

PHP-4.3.3RC4で
fgetcsvに、内部コードがSJISのファイルを、食わせた場合。

"機能",

なんてデータがあると
本来は、「機能」だけが、抽出されるべきところ
能の、2バイト目が、5chなので、エスケープされて

機能",までが、データとして読み込まれてしまいます。

これは、fgetcsvが、SJIS->EUC変換してくれれば問題ないのですが
そうなってないだけではなく

そもそも、csvは、MS-BASICのINPUT文の書式からの派生なので
(若い人はしらないとおもうけど)
""の中を、¥で、エスケープするなんて概念(仕様)はないのです。
#というか、¥1000とか(もち半角で)かけなくなってしまう。

ということで、fgetcsvの仕様がおかしいと思うのですが
#PHP4。2あたりでは大丈夫だった来もするんですが。

みなさまどう思われますか?



PHP-dev メーリングリストの案内