PHP索引带有特殊字符的文件

时间:2016-04-23 21:09:35

标签: php character-encoding special-characters

我正在尝试使用PHP和MySQL组织我的音乐收藏。我正在使用php列出我的音乐目录中的所有文件,并将此信息存储在MySQL数据库中。对于大多数文件,它工作正常,但有些文件名最终会像这样:

现状:
Mai ^ tre Gims - J'me tire.mp3
Tie¨sto - 红灯.mp3
Ma°nsZelmerlo¨w - Heroes.mp3

我相信这些被称为“组合字符”,用于修改其他字符的字符。

显然我希望将这些角色组合在一起:

通缉情况:
MaîtreGims - J'me tire.mp3
Tiësto - 红灯.mp3
MånsZelmerlöw - Heroes.mp3

这是我正在使用的测试代码:

$path = 'D:\Music';

foreach (new DirectoryIterator($path) as $fileInfo) {
    if($fileInfo->isDot()) continue;

    $filename = utf8_encode($fileInfo->getFilename());
    echo $filename . "<br>\n";
}

没有utf8_encode()我得到问号:
我网页中的标题设置为UTF-8。

我尝试过不同的功能,例如 iconv() mb_convert_encoding(),但我无法让它发挥作用。

有谁知道如何从当前想要的文件名?

0 个答案:

没有答案