Здраствуйте. Используя библиотеку PhpOffice (PhpSpreadsheet), вывожу данные в csv файл. Проблема: вместо кирилицы в сформированом файле выводятся "кракозябры". mb_detect_encoding указывает указывает, что эти данные в кодировке ASCII, но mb_convert_encoding($my_str, "ASCII", "UTF-8")) не помогает, меняется только формат "кракозябр". Настройки csv файла:
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=Customers_Export.csv');
header('Pragma: no-cache');
header('Expires: 0');
Подскажите ,в какую сторону копать. Спасибо
Потому что строка mb_convert_encoding($my_str, "ASCII", "UTF-8") конвертирует данные из UTF-8 в ASCII, эти значения нужно поменять местами. Читайте документацию внимательней
mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) : string
https://www.php.net/manual/ru/function.mb-convert-encoding.php
Продвижение своими сайтами как стратегия роста и независимости