在Windows上具有国际名称的php文件名

时间:2014-02-24 02:07:09

标签: php windows internationalization filenames

所以,我有一些代码,它使用RecursiveDiectoryIterator和RecursiveIteratorIterator定位文件来定位目录中的所有文件。然后我检查文件是否存在,对于某些文件它不存在......

$fromIterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir,FilesystemIterator::UNIX_PATHS | FilesystemIterator::SKIP_DOTS));

foreach ($fromIterator as $file)
{
    if (!file_exists($file->getPathname()))
        print $file->getPathname() . "does not exist...\n";
}

我得到一些文件: TÜBITAK_UEKAE_Kök_Sertifika_Hizmet_Saglayicisi_Sürüm_3.txt不存在......

我需要做些什么来处理这些文件名吗?

1 个答案:

答案 0 :(得分:1)

由于您正在处理特殊字符,我怀疑您使用的是UTF-8编码。

我认为file_exists()不会正确处理UTF-8输入。请尝试使用file_exists(utf8_decode(...))