Я читаю имена файлов из каталога с glob с кодом ниже.
Я хочу перебрать их и заменить символы умлаута другими символами.
Однако str_replace
даже не находит символы умлаута, поэтому я предполагаю, что они находятся в каком-либо другом виде кодировки символов.
Это всегда работало в Windows, но я сейчас на Mac , поэтому я попытался преобразовать из "macintosh" в "UTF-8" с помощью iconv, но это не сработало, см. Ниже.
Если я определяю строку с умляутами в коде, , тогда str_replace находит умляуты нормально, но не в строках, извлеченных с помощью glob()
.
Как заставить str_replace распознавать символы умлаута в строках имен файлов, чтобы я мог их заменить?
$pathAndFileNames = glob($directory . '/*.php');
if (count($pathAndFileNames) > 0) {
foreach ($pathAndFileNames as $oldName) {
$newName = str_replace('ü', 'ue', $oldName);
echo $newName; //outputs "rücktest.php"
$oldName2 = "rücktest.php";
$newName2 = str_replace('ü', 'ue', $oldName2);
echo $newName2; //outputs "ruecktest.php"
}
}