Question

File csv

Page with results

Code:

<?php
$file_name = 'test.csv';

if (($handle_f = fopen($file_name, "r")) !== FALSE)
{

while ( ($data_f = fgetcsv($handle_f, 20000, ";"))!== FALSE) {
echo Name - '.$data_f[0].', City - '.$data_f[1].', Adress - '.$data_f[2].', Site - '.$data_f[3].'<br>';
}

fclose($handle_f);
} else {$err = 1; echo "File not open";}
?>

For example in result i would be get next(for example first 2 rows):

Name - Сибвез, City - Абакан, Adress - ул. Советская, 44, Site - www.sibvez.ru
Name - Быттехника, City - Абакан, Adress - ул. Дружбы народов, д. 52, Site - www.sibvez.ru

But now in results first 2 rows next:

Name - , City - , Adress - . Советская, 44, Site - www.sibvez.ru
Name - , City - , Adress - . Дружбы народов, д. 52, Site - http://www.bytech.ru

Tell me please why i cannt get correctly results?

Was it helpful?

Solution

you are need set correct locale - use setlocale(LC_ALL, 'ru_RU.CP1251');

Full code:

setlocale(LC_ALL, 'ru_RU.CP1251');
echo strtoupper('SERVER USE LOCALE ru_RU.CP1251');

$file_name = 'test.csv';

if (($handle_f = fopen($file_name, "r")) !== FALSE)
{

while ( ($data_f = fgetcsv($handle_f, 20000, ";"))!== FALSE) {
echo 'Name - '.$data_f[0].', City - '.$data_f[1].', Adress - '.$data_f[2].', Site - '.$data_f[3].'<br>';
}

fclose($handle_f);
} else {$err = 1; echo "File not open";}

Reference for setlocale: http://us2.php.net/manual/en/function.setlocale.php

OTHER TIPS

There seems to be a syntax error here:

while ( ($data_f = fgetcsv($handle_f, 20000, ";"))!== FALSE) {
echo Name - '.$data_f[0].', City - '.$data_f[1].', Adress - '.$data_f[2].', Site -        '.$data_f[3].'<br>';
}

Should be:

while ( ($data_f = fgetcsv($handle_f, 20000, ";"))!== FALSE) {
echo 'Name - '.$data_f[0].', City - '.$data_f[1].', Adress - '.$data_f[2].', Site -        '.$data_f[3].'<br>';
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top