Онлайн перекодировка из cp1251 в utf8 и обратно

Статус
В этой теме нельзя размещать новые ответы.
Akelpad не подерживает пакетную перекодировку файлов.. При больших количествах будет неудобно его использование
 
вот же человек предложил пакетную перекодировку
только перед этим сохранить в файлик spisok.txt список нужных файлов
эта функция есть в тотале
кто проверит а то времени нет на это

php код:

$kol=200; # количество файлов
for ($i = 1; $i <= $kol; $i++)
{
$mass=file("spisok.txt");
$str=file_get_contents("mass[$i]");
$str = iconv('UTF-8', 'WINDOWS-1251', $str); ## тут настраиваем под себя
$str = eregi_replace('CHARSET=utf8', 'CHARSET=cp1251', $str);
}
 
PHP скрипт пакетной перекодировки фалйов

$kol=200; # количество файлов
for ($i = 1; $i <= $kol; $i++)
{
$mass=file("spisok.txt");
$str=file_get_contents("mass[$i]");
$str = iconv('UTF-8', 'WINDOWS-1251', $str); ## тут настраиваем под себя
$str = eregi_replace('CHARSET=utf8', 'CHARSET=cp1251', $str);
}
Не пойдет!
Как минимум
PHP:
$file = "spisok.txt"; ## список файлов (с полными путями)
if (file_exists($file) && is_readable ($file)) { ## файл существует и доступен для чтения?
  $mass = file($file); ## записываем список файлов в массив
  $kol = count($mass)-1; ## считаем количество строк в файле (т.е., количество файлов)
  for ($i = 0; $i <= $kol; $i++) { ## перебор строк
    if (file_exists($mass[$i]) && is_readable ($mass[$i])) { ## файл существует и доступен для чтения?
     $str = file_get_contents($mass[$i]); ## считываем информацию из файла
     $str = iconv('UTF-8', 'WINDOWS-1251', $str); ## тут настраиваем под себя
     $str = eregi_replace('CHARSET=utf8', 'CHARSET=cp1251', $str);  ## меняем в файлах текст CHARSET=utf8 на CHARSET=cp1251
     $open=fopen($mass[$i].".cp1251","w+"); ## создаем файл в новой кодировке
     fwrite($open,$str); ## пишем в файл всю обработанную инфу
     fclose($open); ## закрываем и сохраняем файл
    }
  }
}
 
всем привет,
вообще такая запара, получаеться что сайт у мен работает через win1251, в базе поля в таблице в кодировке latin1 и если открить через phpmyadmin то там ничего не понятно каракули одни, но сайт работает и показывает номрально! но теперь надо перести даный на другой сайт и там кодировку надо utf8
подскажите что нибудь
 
ыы флуд)
а по теме: юзаю Akelpad проблем не возникало,он -отличная замена блокноту)
Что-бы им перекодировать - открыть, а потом сохранить в другой кодировке или как-то можно проще?
 
  • Заблокирован
  • #16
не нашли до сих пор "готового" скрипта ?
 
  • Заблокирован
  • #17
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && is_uploaded_file($_FILES['fileupload']['tmp_name']) && filesize($_FILES['fileupload']['tmp_name']) < 3 * 1024 * 1024)
{
    $s = file_get_contents($_FILES['fileupload']['tmp_name']);
    if ($_POST['encoding'] == 'cp1251')
    {
        $s = iconv('WINDOWS-1251', 'UTF-8', $s);
    }
    else
    {
        $s = iconv('UTF-8', 'WINDOWS-1251', $s);
    }
 
    if (isset($_POST['changehtml']))
    {
        $s = explode("\n", $s);
        $s[0] = '<?xml version="1.0" encoding="' . htmlspecialchars($_POST['encoding']) . '"?>';
        $s = implode("\n", $s);
    }
 
    header('Content-type: application/x-download');
    header('Content-Disposition: attachment; filename="' . addslashes($_FILES['fileupload']['name']) . '"');
    header("Content-Length: " . strlen($s));
    print $s;
    exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
<html>
<head>
    <title>vBsupport.org - Онлайн перекодировка из cp1251 в utf8 и обратно</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
 
<body>
<p><b>онлайн перекодировка из cp1251 в utf8 и обратно</b></p>
        <form action="?" method="post" enctype="multipart/form-data">
            <p>
                Поддерживаемые типы файлов: .css, .js, .htm, .html, .php, .txt и .xml<br />
                Максимальный размер файла: 3,00 Мб<br />
                <span style="color:red">Обязательно проверяйте результат!</span>
            </p>
 
            <p>
                Файл: <br /><input style="width: 100%" type="file" name="fileupload" size="45"/>
            </p>
 
            <p>
                <table cellpadding="0" cellspacing="0" style="border:0px; padding:0px; margin:0px;"><tr><td>Способ перекодировки:</td><td>
                <input type="radio" name="encoding" value="cp1251"> cp1251 -> utf8<br />
                <input type="radio" name="encoding" value="UTF-8"> utf8 -> cp1251</td></table><br />
                Если текст обрезан, то вы выбрали неверную начальную кодировку!
            </p>
                        <p>
                Пытаться изменить кодировку в мета-тегах и заголовке xml файла (только для vBulletin)
                <input class="button" type="checkbox" name="changehtml" value="1" />
            </p>
 
 
            <input class="button" name="submit" type="submit" value="Конвертировать" />
        </form>
 
</body>
</html>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху