Символ "й" не распознается в скрипте php во время RecursiveIteratorIterator структуры каталогов - PullRequest
0 голосов
/ 01 февраля 2020

Проблема возникла, когда я попытался найти ключ (строка пути к файлу из RecursiveIteratorIterator моего дерева каталогов OSX) в массиве, где ключ - это строка пути к файлу, а значение - некоторые полезные данные.

Строки пути к файлу состоят из английских sh и русских слов "_", "/", расширений файлов и т. Д. c.

Я обнаружил, что php Скрипт не может распознавать специальные русские символы, которые взяты из RecursiveIteratorIterator, особенно "й". Тот же символ успешно находит, если я поместил тот же путь к файлу, что и строка, непосредственно в коде php или из файла. json (json_decode).

Например: str_replace ("й", "и", $ file-> getPath ()) возвращает "../source/photo/Органайзеры"

И это основная причина, почему я не могу найти эти ключи в массиве, я думаю.

Ну, горячо это исправить? Система: OSX Php: 7.2.22

Ниже приведены некоторые тесты, чтобы показать проблему.

enter image description here

...