Слетает кодировка, когда я пытаюсь считать Excel файл при помощи PHP

Всем привет, я столкнулся со следующей проблемой. У меня есть файл parser.xls, когда я пытаюсь его считать при помощи PHP, слетает кодировка и на экране появляются т.н. "кракозябры". Вверху скрипта поставил проверку, что бы узнать поддерживается ли кодировка UTF-8, исключения не выбросило. `

const PAGE_ENCODING = 'UTF-8';
if (mb_internal_encoding(PAGE_ENCODING) != PAGE_ENCODING) {
    throw new Exception('Encoding not supported: ' . PAGE_ENCODING);
}

$filename = 'parser.xls';

$fileContent = file_get_contents($filename);

var_dump($fileContent);

` Я знаю, что можно изменить разрешение excel файла на .csv, но есть ещё какой-либо способ считать этот файл именно в формате .xls. Т.к необходимо что бы файл, не подвергался каким-либо изменениям.


Ответы (1 шт):

Автор решения: Алексей Р

Вы не сможете правильно прочесть Excel файл с помощью функции file_get_contents(), поскольку она читает файл как текст, а не как электронную таблицу. Вам нужно воспользоваться какой-либо php - библиотекой для чтения файла Excel, например, как написано здесь или здесь.

→ Ссылка