Bug #12127 Updated: Function fgetcsv() lost some letters

From: Date: Mon, 28 Jan 2002 15:40:22 +0000
Subject: Bug #12127 Updated: Function fgetcsv() lost some letters
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-78308@lists.php.net to get a copy of this message
ID: 12127
Updated by: sander
Reported By: bitlz@mail.ru
Old Status: Feedback
Status: No Feedback
Bug Type: Filesystem function related
Operating System: Windows 2000 Professional
PHP Version: 4.0.6
New Comment:

No feedback.


Previous Comments:
------------------------------------------------------------------------

[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)

« previous php.dev (#78308) next »