Побились названия файлов на кириллице. Как вернуть обратно ?

Тема в разделе "Хостинг", создана пользователем kuzmit42, 2 июн 2016.

Модераторы: Aste, stooper
  1. kuzmit42

    kuzmit42 Постоялец

    Регистр.:
    9 янв 2013
    Сообщения:
    131
    Симпатии:
    31
    Добрый день. В общем достался сайт в наследство. Прошлый вебмастер называл файлы русскими именами. Потом файл запаковали в архив, и распаковали обратно. (хостинг timeweb).
    Все русские названия файлов превратились в "#U0411#U0435#U0437-#U0437#U0430#U0433#U043e#U043b#U043e#U0432#U043a"

    Есть какой-то способ, перекодировать обратно ?
    PHP скриптом, или может программой какой-то.
    Кто сталкивался, кто что может посоветовать?
     
  2. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    648
    Симпатии:
    513
    Похоже на коды символов Unicode, только там как-то так было бы:
    \U0411\U0435\U0437-\U0437\U0430\U0433\U043e\U043b\U043e\U0432\U043a

    Функция расшифровки:
    PHP:
    $str='\u0411\u0435\u0437-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a';
    $str preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
      return 
    mb_convert_encoding(pack('H*'$match[1]), 'UTF-8''UCS-2BE');
    }, 
    $str);