#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. Отлично, рад, что смог помочь!