file_exists("file_å.txt");
ファイルが存在する間はfalseを返します。この種の名前のファイルを表示するために *file_exists* を作成するものはありますか?
ありがとう。
file_exists("file_å.txt");
ファイルが存在する間はfalseを返します。この種の名前のファイルを表示するために *file_exists* を作成するものはありますか?
ありがとう。
たとえば、Excel からファイル名を読み取ったり、ディスク上の特定のパスを検索したりするときに、これに数回遭遇しました。問題は、"ä" が特定の Unicode 文字 (\u00e4) であるか、その「組み合わせダイアレシス」形式 (a\u0308)、つまり 2 つのドットの "a" である可能性があります。
PHP 5.3 以降の最善の解決策は、Normalizer ライブラリを使用することです。sudo apt-get install php5-intl
クラスを PHP に取り込む必要がある場合があります。その後ちょうど
$normalizer = new \Normalizer();
$normalizer->normalize($val, \Normalizer::FORM_D)
2 番目の引数にはいくつかの異なる形式があるため、必要な形式を調べる必要があります。
この回答を確認してください: https://stackoverflow.com/a/2685818/190791
私にとっての解決策は、Windowsファイル形式に変換することでした:
$winfilename= iconv('utf-8', 'cp1252', $utffilename);
試す
file_exists(mb_convert_encoding("file_å.txt", "UTF-8"));
テキストがutf-8ではないと仮定
Check which encoding your php script is in. Probably it's different from the file systems. (E.g. latin1 vs. utf-8)