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