Bug #12127 Updated: Function fgetcsv() lost some letters
ID: 12127
User updated by: bitlz@mail.ru
Reported By: bitlz@mail.ru
Old Status: No Feedback
Status: Closed
Bug Type: Filesystem function related
Operating System: Windows 2000 Professional
PHP Version: 4.0.6
New Comment:
on 4.1.1 all ok.
Previous Comments:
------------------------------------------------------------------------
[2002-01-28 10:40:21] sander@php.net
No feedback.
------------------------------------------------------------------------
[2002-01-07 10:35:04] lobbin@php.net
Can you try 4.1.1?
------------------------------------------------------------------------
[2001-07-16 01:33:43] bitlz@mail.ru
may be. but when running my script from the command line php version (
on windows 2000 pro ) i get following:
---------------------------
X-Powered-By: PHP/4.0.6
Content-type: text/html
5 fields in line 1: <br>áèìîå 5,58 <br>5 fields in line 2: <br>áèìîå
(âèòàìèíèçèðîâàííîå) 345 9,15 <br>
----------------------------
some letters are lost. :(
codepage in a.csv - cp1251.
this bug i see on different machines:
p100 ( win95 )
pIII 700 ( win2k pro )
on linux ( debian, kernel 2.4.3, php 4.0.5 ), i see next result:
----------------------
Content-type: text/html; charset=koi8-r
5 fields in line 1: <br>Ëþáèìîå 5,58 <br>5 fields in line 2:
<br>Ëþáèìîå (âèòàìèíèçèðîâàííîå) 345 9,15 <br>
-----------------------
on freebsd, php 4.0.4pl1 ( apache module ), and 4.0.6 ( fastcgi ) it
also work properly.
------------------------------------------------------------------------
[2001-07-13 01:57:18] rasmus@php.net
When running your script from the command-line version of PHP I get:
5 fields in line 1:
Ëþáèìîå 5,58
5 fields in line 2:
Ëþáèìîå (âèòàìèíèçèðîâàííîå) 345 9,15
ie. I see no missing characters.
------------------------------------------------------------------------
[2001-07-13 01:47:16] bitlz@mail.ru
a.csv: ( imported from microsoft excel 2000 )
Ëþáèìîå;;;;5,58
Ëþáèìîå (âèòàìèíèçèðîâàííîå);;;345;9,15
a.php:
<?
$row = 1;
$fp = fopen ("a.csv","r");
while ($data = fgetcsv ($fp, 1000, ";")) {
$num = count ($data);
print "$num fields in line $row: <br>";
$row++;
for ($c=0; $c<$num; $c++) {
print $data[$c]." ";
}
echo "<br>";
}
fclose ($fp);
?>
output from a.php:
5 fields in line 1:
áèìîå 5,58
5 fields in line 2:
áèìîå (âèòàìèíèçèðîâàííîå) 345 9,15
---------------------------------------------
some letters are lost.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=12127&edit=1
Thread (6 messages)