Есть сайт, работающий в кодировке utf8. PHP скрипты имеют соответствующий заголовок. Скрипт читает файл csv, сделаный в экселе. PHP: $inf = fopen('item.csv', 'r'); while ($item = fgetcsv($inf)) { print_r($item); } Но русский шрифт не отображается. Можно убрать заголовок с кодировкой, тогда всё нормально. Но мне нужна именно utf8. С созданием csv файла ещё сложнее. У меня вообще не получилось записать русский текст. Создаю так: PHP: $item = array ( array ("Текст", "9000"), array ("Файл", "18000") ); $inf = fopen('inf.csv', 'w'); foreach ($item as $fields) { fputcsv($inf, $fields, ";"); } Подскажите, можно ли как-то перекодировать данные, полученные из файла? И как правильно создавать файл с русским текстом?
https://www.php.net/manual/ru/function.iconv.php Если вы получаете текст из формы, то кодировка этого текста зависит от установленного на странице с формой заголовка или его отсутствия, тогда браузер закодирует текст в кодировку по умолчанию. А если вы записываете текст из сценария, то его кодировка зависит кодировки этого самого сценария Это говорит о том, что текст в однобайтной кодировке. Видимо WINDOWS-1251