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

Статус
В этой теме нельзя размещать новые ответы.
Не проще ли а с помощью библиотеки mb_string. Применяя такого вида функцию:
$to_convert=mb_convert_encoding($to_convert, "cp1251", "UTF-8");
 
вот еще варианты
*** скрытое содержание ***

Можно поподробнее как с этим bash работать?
1. Как его правильно запускать если скрипт конверта находится например в папке C:/convert
2. Файлы для конвертации должны там же находиться?


P.S. О cygwin знаю, но все что смог сделать это запустить окно cygwin
 
Можно поподробнее как с этим bash работать?
1. Как его правильно запускать если скрипт конверта находится например в папке C:/convert
2. Файлы для конвертации должны там же находиться?
P.S. О cygwin знаю, но все что смог сделать это запустить окно cygwin
Код:
#!/bin/sh
cat "$1" | iconv -c -f cp1251 -t utf-8 -o tmp_12345
mv -f tmp_12345 "$1"
сие под линукс - в эмуляторе цгвине лучше перепиши все в /home и там конверти
попробовал все работает и в нем.
 
Код:
#!/bin/sh
cat "$1" | iconv -c -f cp1251 -t utf-8 -o tmp_12345
mv -f tmp_12345 "$1"
сие под линукс - в эмуляторе цгвине лучше перепиши все в /home и там конверти
попробовал все работает и в нем.

Если не трудно, объясни плз. поподробнее, как для чайников.

Строчки которые выше - сохранил в файл conv.sh.
Положил файлик в папку home/Администратор (мой юзер) запускаю cygwin, ввожу bash conv.sh

Текст conv.sh
PHP:
#!/bin/sh
cat "$1" | iconv -c -f utf-8 -t cp1251 -o games
mv -f games "$1"

Выдает
PHP:
$ bash conv.sh
conv.sh: line 2: iconv: command not found
cat: : No such file or directory
mv: cannot move `games' to `': No such file or directory

Первое, я так понимаю нужно установить iconv
а с каталогом что делать не пойму. Предполагается что файлы находятся в папке games
 
1 поставить на цыг iconv
2 tmp_12345 имя промежуточного временного файла который будет удален
3 скрипт использовать ./conv.sh имя _файла который нужно перекодировать
 
1 поставить на цыг iconv
2 tmp_12345 имя промежуточного временного файла который будет удален
3 скрипт использовать ./conv.sh имя _файла который нужно перекодировать

Нужно не файл, а папку с неск. тыс. файлов
 
Нужно не файл, а папку с неск. тыс. файлов

Код:
#!/bin/sh

# использовать ./имя_скрипта  имя_файла или ./*

#переименовать 1 файл {{{
#cat "$1" | iconv -c -f utf-8 -t cp1251 -o tmp_0000000000
#mv -f tmp_0000000000 "$1"
#}}}

for i in *; do
# переименовать название файлов
	#newname=`echo $i|iconv -f cp1251`
	#[ "$newname" != "$i" ] && mv $i $newname
#}}}
# переименовать содержимого фаулов
cat "$i" | iconv -c -f utf-8 -t cp1251 -o tmp_0000000000
mv -f tmp_0000000000 "$i"
done
 
Каким софтом можно перекодировать всю папку в 1251. Здесь имеется ввиду, vb ибо с русиком слишком много проблем со знаками вопроса, и ничего не получается. один раз 4.0.3 удалось, и то случайно. Вопрос со ???? поднимался не раз, и всё на одном месте.
Или, может быть кто расписал бы как русифицировать по настоящему. Простите, не в теме.
Помоги Господи!
 
Каким софтом можно перекодировать всю папку в 1251. Здесь имеется ввиду, vb ибо с русиком слишком много проблем со знаками вопроса, и ничего не получается. один раз 4.0.3 удалось, и то случайно. Вопрос со ???? поднимался не раз, и всё на одном месте.
Или, может быть кто расписал бы как русифицировать по настоящему. Простите, не в теме.
Помоги Господи!

Напишите конкретнее что вас интересует. Несколько раз перечитывал, не могу въехать. Что вам нужно перекодировать? При чем здесь русификатор?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху