Tjerk Meesters wrote:

> Hi list,
> 
> As I was fiddling with CSV data reading and writing I noticed that fgetcsv() 
> is inherently incompatible with fputcsv() when it comes to the enclosure 
> escape character that’s used.
> 
> Example: http://3v4l.org/LHEZj
> 
> The above example code demonstrates how, by default, fputcsv() encodes a 
> backslash as is but fgetcsv() will treat that same backslash as the enclosure 
> escape character as well as the enclosure character itself; this is rather 
> surprising behaviour and imho unnecessarily complicated.
> 
> I would suggest changing the behaviour in such a way that:
> a) the default enclosure escape character for fgetcsv() is a double quote.
> b) fgetcsv() only treats the escape character as … an escape character.
> 
> Due to the kind of change BC can’t be maintained, so I’d propose this change 
> for PHP 7.
> 
> If anyone has violent objections to the above, or thinks that an RFC should 
> be drawn up, do let me know … otherwise I’ll commit the change into master by 
> next week or so.

Are you aware of <https://bugs.php.net/bug.php?id=50686>?  It seems this
very inconsistency has been reported a few years ago, but has been
tagged as "Wont fix" back then.

<https://bugs.php.net/bug.php?id=38929> also seems to deal with this
inconsistency, and had been tagged as "Not a bug".

So maybe an RFC is appropriate?

-- 
Christoph M. Becker


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to