Я должен отобразить список файлов со ссылкой на них. Что я написал:
$path = "pdf/".$lang."/*";
$fileList = glob($path);
echo "<ul>";
foreach($fileList as $filename){
$splitted = explode("/", $filename);
echo '<li><a href="'.$filename.'">'.end($splitted).'</a>';
}
echo "</ul>";
Работает, если в именах файлов нет специальных символов. Если есть, отображается .
Я изменил код следующим образом:
$path = "pdf/".$lang."/";
$fileList = glob($path."*");
echo "<ul>";
foreach($fileList as $entry){
$splitted = explode("/", $entry);
$filename = iconv('WINDOWS-1252', 'UTF-8', end($splitted));
echo '<li><a href="'.$path.$filename.'" target="_blank">'.$filename.'</a>';
}
echo "</ul>";
это решение работает только на локальном хосте. После того, как я опубликую его, специальные символы отображаются неправильно. Вместо ä
он отображает ä
.
Как я могу решить это?
Edit:
Это не дубликат этого вопроса. Как я уже писал выше, я получаю не ¤.
Localhost и сервер работают в Windows.
Версия PHP на локальном хосте 5.6.35. Сервер включен на 7.1.