与变音符号的PHP问题

时间:2016-01-26 19:23:55

标签: php html diacritics

我有来自文件夹的读取文件的代码:

<?php
$directory = "Dokumenty/rozne";
$a = array_diff(scandir($directory), array('..', '.'));
$i = 1;
foreach($a as $key => $name){
    $link = "http://mana.fara.sk/Dokumenty/rozne/" . $name;
    echo  "<p>$i: <a href='$link' >$name</a></p><br>";
    $i++;
}
?>

但在网页上的变音符号显示不正确:这是示例 Pamiatkovy����vyskum.docx

你能帮助我解决这个问题吗?....在头脑中,<meta charset="UTF-8">和html lang是lang="sk-SK"

THX

1 个答案:

答案 0 :(得分:0)

这可能是因为scandir返回非UTF-8字符串。您应该使用正确的编码更新文件名,或者将字符串的编码转换为UTF-8。 Windows应使用ISO-8859-1或Windows-1252。

所以,您可以尝试:

$name = iconv('Windows-1252', 'UTF-8', $name);