отображать csv в браузере с кодировкой utf-8, используя php и заголовки

#php #csv #pdf #cloud #charset

#php #csv #PDF #облако #кодировка

Вопрос:

В облачном веб-приложении я хочу отображать файлы непосредственно в браузере, что отлично работает.PDF и изображения с использованием этого кода:

 if (file_exists($serverfile)) {
    header('Content-Type: ' . mime_content_type ($serverfile) . '; charset=utf-8');
    header('Content-Disposition: inline; filename="' . $origname . '"');
    header('content-Transfer-Encoding: binary');
    header('Content-length: ' . filesize($serverfile));
    header('Accept-Ranges: bytes');
    readfile($serverfile);
    //... more unrelated code
    exit;
}
 

но у меня есть символы, например, с немецкими умляутами, на случай, если файл имеет формат .CSV

Я также установил ini_set('default_charset', 'utf-8'); поверх скрипта.

Чего мне не хватает?

Комментарии:

1. Я предполагаю, что csv-файлы не имеют кодировки utf-8. В системе Linux вы можете проверить это в оболочке с file some-file.csv помощью . Затем вы можете преобразовать файл, используя iconv() его перед отправкой.

2. @digijay Очевидно, что вы правы. Для целей тестирования я использовал файл .csv, который не был моего происхождения. Теперь, после вашей подсказки, я экспортировал новый файл из листа Excel с правильной кодировкой, и, да, он работает. Спасибо

3. Отлично, рад, что смог помочь!