<< Очередной ап ТИЦ яндекса | На главную | Проблема с UDMA на ICH7 и CentOS 5 >>

Рекурсивная конвертация файлов с помощью iconv

How to recursive convert files with iconv to UTF-8

Задался сегодня задачей конвертации проекта в UTF-8. Изрядно порывшись в интернете нашёл тучу неработающих или криво работающих вариантов. В результате был рождён следующий гениальный скрипт под названием /usr/bin/fconv.sh

mv $1 $1.old
iconv -f CP1251 -t UTF-8 $1.old -o $1
sed -i 's/windows-1251/UTF-8/g' $1
rm $1.old


А для того чтобы это чудо скриптовой мысли сконвертировало все мои JSP файлы была вызвана следующая чудо-строчка:
 find . -name "*.jsp" -exec fconv {} \;

В результате мы получаем в текущей директории (и всех директориях ниже) файлы сконвертированные из CP1251 в UTF-8. Для проекта в Eclipse необходимо последовательно выполнить в текущей директории:
find . -name "*.java" -exec /home/tomcat/bin/fconv.sh {} \;
find . -name "*.jsp" -exec /home/tomcat/bin/fconv.sh {} \;
find . -name "*.html" -exec /home/tomcat/bin/fconv.sh {} \;
find . -name "*.lbi" -exec /home/tomcat/bin/fconv.sh {} \;
find . -name "*.dwt" -exec /home/tomcat/bin/fconv.sh {} \;
Ярлыки : , ,


Avatar: Dblogs

Re: Рекурсивная конвертация файлов с помощью iconv

Можно было сделать проще: через rencode.
Сам когда-то бился с подобной проблемой.
Avatar: Vladimir

Re: Рекурсивная конвертация файлов с помощью iconv

Если не указывать -f, то iconv определит сам исходную кодировку? Или это только -t можно не указывать? (тогда iconv берёт системную кодировку)

Комментировать Отправить TrackBack
На главную