Здравствуйте! Столкнулся со странной ситуацией. При попытке определения кодировки файла, не зависимо от того какая она у файла в дейтсвительности, php определяеи ее как UTF-8
$file = file_get_contents('in.csv');
$encode = mb_detect_encoding($file);
echo $encode;
При этом файл в кодировке win-1251 (проверял в notepad++) все равно определяется как UTF-8.
Почему такое происходит?
Просто я потом этот файл парсю и забиваю в базу Msql, и мне нужно привести его содержимое к определенной кодировке. Для этого:
fwrite($handle, iconv($encode, 'UTF-8', file_get_contents('in.csv')));
Но при этом если файл в UTF-8 - то все ок, а если в win-1251 - парсинг не проходит. Приходится менять на:
fwrite($handle, iconv('CP1251', 'UTF-8', file_get_contents('in.csv')));
Тогда для win-1251 проходит без проблем, для UTF-8 в базу сохраняются кракозябры вместо кирилицы...