Кодировка текста

Матеріал з Wiki.Zina
Перейти до навігації Перейти до пошуку

Кракозябры и перекодировка: решение проблем с испорченным текстом в письмах, текстах и в именах файлов в Linux и Windows.

Конвертирование из win-1251 в UTF-8

[ред. | ред. код]

Кнвертировать все файлы .html во вложенных папках:

find . -name '*.html' | while read i; do iconv -f WINDOWS-1251 -t UTF-8 "$i" > tmp; mv tmp "$i"; done

Заменить в файлах .html строку указанием кодировки windows-1251 на UTF-8:

find . -name "*.html" -exec sh -c 'sed "s/windows-1251/UTF-8/g" "{}" > tmp && mv tmp "{}"' \;

Объединенная команда — конвертирует все .html файлы из windows-1251 в utf-8 и заменяет упоминание кодировки в тексте:

find . -name "*.html" -exec sh -c 'iconv -f WINDOWS-1251 -t UTF-8 "{}" > tmp && sed "s/windows-1251/UTF-8/g" tmp > "{}" && rm tmp' \;

Устарело

Кириллица в именах файлов в архивах rar и zip

[ред. | ред. код]

Если под Убунтой распаковать файл с кириллическим именем из архива (rar или zip), то получится файл с абракадаброй.

Для rar нужно указать кодировку:

unrar --enable-charset x archive.rar

Для zip есть два варианта. Первый - распаковать как есть и потом сконвертировать с помощью convmv:

unzip -S archive.zip
convmv -f cp866 -t UTF-8 --notest *

Второй - обновить unzip на новый, с поддержкой i18n:

sudo add-apt-repository ppa:frol/zip-i18n
sudo apt-get update
sudo apt-get install libnatspec0
sudo apt-get install unzip p7zip-full

Пробуем:

unzip archive.zip