скрипт для массовой перекодировки файлов

Статус
В этой теме нельзя размещать новые ответы.
c нуля, также есть бекап рус 4.0.3 1251. домен на котором он находился не продлён
 
c нуля, также есть бекап рус 4.0.3. домен на котором он находился не продлён

Вобщем лучше всего сделать так
Открываете дамп в notepad++
Копируете в буфер обмена, потом меняете кодировку на ютф8 без бом, и вставляете содержимое.
сохраняете

Потом импортируете дамп, при этом кодировка базы тоже должна быть utf-8_general_ci и таблиц естественно тоже.

Все вышеописанное относится к случаю когда в исходном дампе не знаки вопроса, а буквы
 
похоже, вы невнимательно прочли вопрос oneathome - ему наоборот, нужно сделать в вынь-1251, или я чего-то пропустил...
 
похоже, вы невнимательно прочли вопрос oneathome - ему наоборот, нужно сделать в вынь-1251, или я чего-то пропустил...

Ну может быть, сути это не меняет. Точно так же можно сделать и в 1251. Скорее всего есть и другие способы, но я привык делать так как описал выше.
 
  • Заблокирован
  • #35
Все файлы из UTF-8 в ANSI

Всем привет имеется большое кол-во файлов свыше 9000
присутствуют расширения: php,js,sc,htm,html возможно и другие
В ручную открывать каждый файл и через "Сохранить как" выбирать ANSI заместо UTF-8 сума сойдеш
Как можно перевести все файлы с UTF-8 в ANSI включая все расширения и все вложенные папки?
Средствами php
 
рекурсивно обходишь папки
читаешь
кодируешь ( iconv() )
записываешь
 
  • Заблокирован
  • #37
эмм а готовым вариантом как это выглядит?
 
PHP:
scan_files('./files'); // нач. директория
$files = preg_grep('/\.(php|js|sc|htm|html)$/i',$files);  // расширения

foreach($files as $file) {
if(!is_file($file)) continue;
$page = file_get_contents($file);
$page=str_replace(pack("CCC", 0xef, 0xbb, 0xbf),'',$page); // стираем BOM
$page=iconv('UTF-8','windows-1251//IGNORE',$page);
file_put_contents($file,$page); }

function scan_files($dir) { $dh=opendir($dir);
while ($file=readdir($dh)) { if(is_file($dir.'/'.$file)) { $GLOBALS['files'][] = $dir.'/'.$file; }
elseif(is_dir($dir.'/'.$file) AND !is_link($dir.'/'.$file) AND $file != '.' AND $file != '..')
scan_files($dir.'/'.$file); } 	closedir($dh); }
 
  • Заблокирован
  • #39
эмм все бы хорошо если бы после такой конвертации работали бы файлы, есть еще варианты?
 
если проблема в php-скриптах, то потребуется их ручная доработка, втч. если они написаны именно под utf-8
ну а вообще, этот метод лучше использовать только для статики
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху