我正在尝试使用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(),但我无法让它发挥作用。
有谁知道如何从当前到想要的文件名?