cp1251->UTF-8[Решено]

Изображение пользователя dexif.

Столкнулся с проблемой... есть набор текстовых файлов причём этот набор структурирован и распределён по директориям...
Задача в том как без особых затрат времени перекодировать всё это добро из cp1251 в UTF-8?

0
Ockonal - 14 Март, 2009 - 19:03
Изображение пользователя Ockonal.

Есть он-лайн сервисы, которые это делают

+1
dexif - 14 Март, 2009 - 22:06
Изображение пользователя dexif.

Хм... немного покопавшись в консольных утилитах вот что у меня получилось:
И не нужны никакие он-лайн сервисы :)
find . -name "*.txt" -exec recode CP1251/..UTF-8 {} \;
мало того... немного покопавшись нашёл как и имена перекодировать:
find . -exec sh -c ‘mv $0 `echo $0 | iconv -f CP1251 -t UTF-8`’ {} \;
Это на случай если кто-то тоже решит что cp1251 для линукса - как мыло в глотку :)

0
dexif - 15 Март, 2009 - 14:30
Изображение пользователя dexif.

http://kubuntu.ru/amarok.html А вот так конвертируем теги :)

0
balamutick - 10 Август, 2010 - 19:09
Изображение пользователя balamutick.

А можно ли как-либо из под vi ?

Кто напишет set enc=cp1251, натравлю домашне-бойцового пингвина, ибо эта команда не конвертирует, а отображает и пишет в этой кодировке, насколько я понимаю.

Помогло:
:e ++enc=cp1251

Спасибо Ockanal -у.

0
Xenomorph - 10 Август, 2010 - 20:19
Изображение пользователя Xenomorph.

Варианты:
:write ++enc=cp-1251
или
set fileencoding=cp-1251

0
balamutick - 13 Август, 2010 - 08:06
Изображение пользователя balamutick.

Не пашет это. Проверь у себя на всяк пожарный.

Ну не могу, руки жесть кривые, ну НИКАК не могу перекодировать один файл ну *****.

0
Ockonal - 22 Август, 2010 - 12:11
Изображение пользователя Ockonal.

:e ++enc=cp1251
В режиме редактора поменяет кодировку файла. Постоянно пользуюсь этой командой.

0
balamutick - 10 Ноябрь, 2010 - 11:33
Изображение пользователя balamutick.

:e ++enc=cp1251

0
uicraor - 22 Август, 2010 - 17:04
Изображение пользователя uicraor.

Вот еще один способ нашел на просторах инета... =)

Смена кодировки текстового файла с CP1251 на UTF8:

1. Устанавливаем необходимый пакет:
sudo apt-get install enca
2. Конвертируем один файл в кодировку локали дистрибутива, которая определяется автоматически:
enconv имя_файла

Вместо имя_файла должен находится полный путь до файла в кодировке CP1251, к примеру: enconv /home/koder/1.txt

Если этих файлов окажется несколько, то команда выглядит несколько иначе:
find путь_к_директории -name "*.txt" -exec enconv {} \;
Для нашего примера должно быть так: find /home/koder/ -name "*.txt" |enconv

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры