PankovAlxndr
@PankovAlxndr
FullStack: php, laravel, vue, docker

Почему кодировка cp1251 при использовании функции glob в php?

Здравствуйте.

Такая ситуация, я пытаюсь выбрать нужный файл из папки (в папке куча картинок) по опредмеченному шаблону: например

foreach (glob("/путь/тырыпыры_вес*.jpg") as $filename) {
    echo "$filename размер " . filesize($filename) . "\n";
}

Но ничего не возвратилось, ладно, решил посмотреть, что вернет просто

foreach (glob("/путь/*.jpg") as $filename) {
    echo "$filename размер " . filesize($filename) . "\n";
}


ииии, он мне выдал все картинки... НО
у всех вместо русских букв ромбики... (догадываюсь - поэтому маска и не работает)

выбирать все картинки потом к каждой (каждому пути) применять iconv в UTF8, а потом искать по маске - как-то слишком не правильно (хотя работает)

Так вот вопрос... как мне сделать так, чтобы glob возвращал сразу в нормальной кодировке, и я смог применить маску и найти только нужные мне файлы(пути) тут же и дальше с ними работать.. (около 800 картинок в папке)

Подозревая что нужно что-то в php.ini прописать, но не могу нагуглить что именно..

Заранее благодарен за ответ.
  • Вопрос задан
  • 409 просмотров
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
Потому что это Windows, на Linux utf8 и всё красиво без костылей, иначе как конвертированием символов не обойтись.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы