file_exists("file_å.txt");
当文件存在时返回false 。有什么可以让 *file_exists* 查看具有这种名称的文件吗?
谢谢。
file_exists("file_å.txt");
当文件存在时返回false 。有什么可以让 *file_exists* 查看具有这种名称的文件吗?
谢谢。
例如,当从 Excel 读取文件名并在磁盘上查找给定路径时,我已经遇到过几次这种情况。问题可能是“ä”是特定的 unicode 字符 (\u00e4) 或其“组合分叉”形式 (a\u0308),即带有两个点的“a”。
自 php 5.3 以来的最佳解决方案是使用 Normalizer 库。您可能需要sudo apt-get install php5-intl
将该类放入您的 PHP 中。之后只是
$normalizer = new \Normalizer();
$normalizer->normalize($val, \Normalizer::FORM_D)
第二个参数有几种不同的形式,所以你必须查找你需要哪一个
检查这个答案: https ://stackoverflow.com/a/2685818/190791
我的解决方案是转换为 windows 文件格式:
$winfilename= iconv('utf-8', 'cp1252', $utffilename);
尝试
file_exists(mb_convert_encoding("file_å.txt", "UTF-8"));
假设文本不是 utf-8
检查您的 php 脚本在哪个编码中。可能它与文件系统不同。(例如 latin1 与 utf-8)