Проблема при считывании файла в PHP 5 (fopen и fgetcsv)

melan91

Новичок
Проблема при считывании файла в PHP 5 (fopen и fgetcsv)

Есть скрипт который считывает из csv файла определенную информацию.
Вот скрипт кода:
PHP:
$adre= adr;
$fh = fopen ("base.csv", "r") or die("Увы, База данных не доступна");//имя базы данных
$i = 0;
while (!feof ($fh))
{
$data[$i][] = fgetcsv ($fh, 100000, ";");

$i++;
}
в результате должен получится массив с данными. На локальном хостинге все отлично работает как на PHP 4 так и 5. ри заливки-же на сайт, происходят странные вещи. При считывании сервер пропускает N-ое кол-во русских бкув. Если-же поставить перед русским текстом какой-либо анг. символ или цифру, то все отлично, он считывает строки до конца, все эти явления были на PHP 5. Если-же перевести сайт на сервер с PHP 4, то все становится отлично, все читается проблем с русскими буквами нет.

вы можете просмотреть сайты:
http://alfarad.ru/1/ - это PHP 4 и тут все читается.
http://belpro.cn/ на этом 5 и проблема с русскими буквами
http://astramag.info/ тут такая-же проблема


При попытки отладки создал файл d.php вот его код:
PHP:
if (empty($_POST[php]))
{
	echo "<form name=\"\" action=\"\" method=\"post\">
<input name=\"php\" type=\"hidden\" value=\"1\">
<input type=\"submit\" value=\"Phpinfo\">
</form>\n";
echo "проверка пременных<br>";
echo "<pre>";
echo "массив datat<br ><br >";
var_dump ($datat);
echo   "массив datat2<br ><br >";
var_dump ($datat2);
echo "<big>массив data</big><br /><br /><br />";
var_dump ($data);
echo "</pre>";


}
if (isset($_POST[php]))
{
	echo "<a href=\"d.php\">Домой</a> \n";
phpinfo ();
}
?>
Он выводит массив дата или информу о PHP.
Если она вам нужна:
http://alfarad.ru/1/d.php
http://belpro.cn/d.php
http://astramag.info/d.php
Заодно посмотрите разницу между содержанием массивов и обрезанием русского текста.
скажите кто что может, а то уже прям не знаю что и делать....
Заранее спасибо
 

melan91

Новичок
http://astramag.info/d.php - исправил

Попробовал с ключом rb, не помогает так все и остается. Еще у кого есть какие варианты, а то уже все свои вариант перепробовал.
 

dimagolov

Новичок
melan91
поставить нужный (не UFT-8) локейшн, так как файл у тебя скорее не UTF (раз на 4-ке работает)
 

melan91

Новичок
Спасибо, помогло. Добавил строку:
setlocale(LC_ALL, 'ru_RU.CP1251');
 
Сверху