Edit report at https://bugs.php.net/bug.php?id=48507&edit=1
ID: 48507
Comment by: eswald at middil dot com
Reported by: krynble at yahoo dot com dot br
Summary: fgetcsv() ignoring special characters
Status: Bogus
Type: Bug
Package: Filesystem function related
Operating System: Unix
PHP Version: 5.*
Block user comment: N
Private report: N
New Comment:
Tested with LANG=C, input file encoding of UTF-8.
Also tested with LANG=C, input file encoding of cp1252, with identical results,
except that the output characters (what was left of them) were also cp1252.
Previous Comments:
------------------------------------------------------------------------
[2012-01-26 19:50:26] eswald at middil dot com
Confirmed with php5 (5.3.6-13ubuntu3.2 on Oneiric Ocelot); can be worked around
by quoting the value with quotation marks. For example, the line
a,"a",é,"é",óú,"óú",ó&ú,"ó&ú"
yields
array (
0 => 'a',
1 => 'a',
2 => '',
3 => 'é',
4 => '',
5 => 'óú',
6 => '&ú',
7 => 'ó&ú',
)
Note the corruption in elements 2, 4, and 6, but not in their quoted
counterparts 3, 5, and 7.
------------------------------------------------------------------------
[2012-01-18 11:53:48] tero dot tasanen at gmail dot com
I can also confirm that this is an actual bug. File encoding UTF-8, locale
settings are set correctly and characters like äöå are dropped from the
beginning
of the csv column.
Tested with php versions 5.2.6, 5.2.10, 5.3.6
------------------------------------------------------------------------
[2011-10-28 08:33:25] peter dot e dot lind at gmail dot com
This is definitely still a bug - my locale is set to da_DK.utf8, the file I'm
trying to read is in UTF8 (confirmed with a hex-editor but in fact does not
matter - the behaviour is the same, UTF8 or ISO-8859-1) yet special characters
are still thrown away when they are first in a field
------------------------------------------------------------------------
[2011-10-18 13:59:30] me at monicag dot it
Quoting my fellows above: how comes this is not a bug?
------------------------------------------------------------------------
[2011-10-10 10:03:58] ghosh at q-one dot com
Sorry. I don't understand why this isn't a bug either. Could someone please
elaborate? I tried setting all different kinds of locale to no avail. The first
letter of a string starting with a UTF-8 character is always missing. IMHO,
fgetcsv should work as a simple string operation (or - whatever weird things it
does right now - at least have a parameter to do so - count this as a feature
request if you wish). I think, the current behavior is totally confusing. For
instance, I don't understand why only the first character is missing but the
problem doesnt appear if a character is in the middle of a string.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=48507
--
Edit this bug report at https://bugs.php.net/bug.php?id=48507&edit=1