Перекодирование между таблицами символов
iconv
Дёшево и сердито. Позволяет взять файл или поток символов и перевести его в другую кодировку.
- Список кодировок можно получить указав ключик
-l(--list). Он большой и на один экран консоли как правило не влазит. -f(--from-code) - исходная кодировка файла или потока.-t(--to-code) - кодировка назначения. Если параметр опущен, то будет использована текущая локаль.-c- исключить из вывода ошибочные символы. Если в исходном файле iconv нашел непонятные ему символы, то он откажется конвертить. Данный ключ помогает убедить его в необходимости работать.-o(--output) - указывает в какой файл сохранить результат. Если параметр опущен, то результат пойдёт на стандартный поток вывода.
recode
Более фичастая команда перекодирования. Список доступных кодировок можно получить аналогично iconv: recode -l.
Позволяет лёгким движением руки перекодировать группу файлов:
recode cp1251 *
перекодирует все файлы в каталоге из виндовой кодировки в кодировку текущей локали.
echo "Привет мир\!" | recode ..HTML
заэскейпит строку на манер HTML: Привет мир!
echo "Привет мир\!" | recode ..JAVA
заэскейпит строку в форму пригодную для испрользования в языке Java/JavaScript(?): \u041f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0440!
Ключ -f (force) поможет в трудной ситуации, если recode отказывается перекодировать файл ссылаясь на то, что перекодирование произойдёт с потерями.
convmv
convmv позволяет переименовывать файлы из одной кодировки в другую.







Дискуссия
Есть ещё konwert, например konwert cp1251-utf8.
И весьма удобная функция автоматического распознавания кодировки konwert any/ru-utf8.
Список таблиц перекодировки в /usr/share/konwert/filters
мне больше нравится enconv - полный автомат
- **полужирный**
- //курсив//
- > цитата
- [[http://link | Заголовок ссылки]]
Больше о синтаксисе...