PhpOffice неправильная кодировка

138
24 декабря 2019, 02:00

Здраствуйте. Используя библиотеку 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');

Подскажите ,в какую сторону копать. Спасибо

Answer 1

Потому что строка 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

READ ALSO
токен от API webmaster.yandex.ru

токен от API webmaster.yandex.ru

Уточните пожалуйста: Зарегистрировал приложение в oauthyandex

170
Как извлечь параметры headers c multi curl?

Как извлечь параметры headers c multi curl?

Код показывает полученный header(хотя нигде нет echo, print

158
Подсчет сессий на всем сайте

Подсчет сессий на всем сайте

Подскажите пожалуйста, есть такой код который подсчитывает сессии на сайтеВ данный момент считает количество открытых сессий на каждой...

142
SQL Select первая буква второго слова

SQL Select первая буква второго слова

Прошу помощи , есть выборка результатирующая которая выводит поле fio

142