@aljo222
В процессе обучения веб-разработке

Как изменить названия файлов на нормальные после распаковки архива?

День добрый!
На сайте есть PHP-скрипт, который скачивает и распаковывает архив. В архивах имена файлов примерно следующие: Глава 1, Часть 1 и тд.
Так вот на днях заметили, что у некоторых файлов после распаковки имена могут быть следующего вида:
Глава 1
При этом mb_detect_encoding показывает UTF-8. Каким образом можно преобразовать эти названия в нормальные понятные, например в данном случае должно быть Глава 1.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fockker
@Fockker Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
В общем если я правильно понимаю, вам приходят как архивы, как сделанные под виндоус, с именами файлов в кодировке 1251 - и они распаковываются под виндоус правильно, так и сделанные под нормальными операционными системами, и в них имена закодированы в утф-8
Если у вас есть возможность определять, где был сделан файл, то можно использовать эту информацию при перекодировании.

Ну или тупо в лоб - искать в имени файлов русские буквы в той или иной кодировке, например 1251. То есть символы с кодами B0-EF. Если не встретились - перекодировать из утф в 1251
Ответ написан
Ваш ответ на вопрос

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

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