Из ANSI в UTF-8

Тема в разделе "PHP", создана пользователем shamantc, 6 фев 2011.

Модераторы: latteo
  1. shamantc

    shamantc ЗлОй ШаМан

    Заблокирован
    Регистр.:
    3 ноя 2008
    Сообщения:
    651
    Симпатии:
    183
    Здравствуйте, помогите найти/написать скрипт который бы переводил бы все файлы *.php из ANSI в UTF-8
    В папке и во всех подпапках
    Находил много скриптов
    PHP:
    $dir="путь к папке"
    $handle=opendir($dir); 
    while (
    false !== ($file readdir($handle))) 
     {if(
    is_file($dir."/".$file)) 
      {
    $text=iconv("cp1251""utf-8"file_get_contents($dir."/".$file)); 
        
    $f=fopen($dir."/".$file"w"); 
        
    fputs($f$text); 
        
    fclose($f); 
      } 
     } 
    Половину создают пустой файл *.php либо вообще не переводят и не конвертируют подкаталоги
    Кто что может посоветовать? Для работы на Денвере
     
  2. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    PHP:
    $dir 'files/';
    $files_ob = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
    foreach (
    $files_ob as $file_ob) if($file=(string)$file_ob AND strrchr(basename($file),'.')=='.php')
       
    file_put_contents($file,iconv('windows-1251','UTF-8//IGNORE',file_get_contents($file)));
     
    shamantc нравится это.
  3. alexz15

    alexz15

    Регистр.:
    3 окт 2008
    Сообщения:
    394
    Симпатии:
    191
  4. lungsmoney

    lungsmoney Постоялец

    Регистр.:
    25 апр 2008
    Сообщения:
    81
    Симпатии:
    23
    У меня такая связка работает:
    PHP:
    mb_internal_encoding('utf-8');
     
    $work_ut file_get_contents("$baza_name.xml");
     
    $work_ut mb_convert_encoding($work_ut'utf-8'$kodirovka);
     @
    unlink("$baza_name.xml");
     
    file_put_contents ("$baza_name.xml"$work_ut);
    $kodirovka - кодировка исходного документа