codepage


перекодировка имён файлов

некоторые программы сохраняют названия файлов в неправильной кодировке.
Например, программа wget.

Есть довольно простой метод борьбы с этим злом:

1. Необходим раздел на винчестере или на флэшке, желательно пустой
2. Подключаем его в кодировке, в которой названия файлов читаются нормально
В моём случае, это cp1251

$ sudo  mount /dev/sda1 /home/mount/1 -o iocharset=cp1251,codepage=866

3. Копируем туда файлы с неправильным названием.
4. Отключаем раздел.

$ sudo umount /dev/sda1

5. Подключаем снова, но уже в системной кодировке (в моём случае, это koi8-r)

$ sudo mount /dev/sda1 /home/mount/1 -o iocharset=koi8-r,codepage=866

6. Копируем все файлы с подключённого раздела себе в систему.

Подобные советы:

4
Ваша оценка: Ничего Рейтинг: 4 (1 vote)
ramok аватар

Кириллица в транслит

Перевести по быстрому кириллицу в транслит можно так

$ echo Привет | iconv -t koi-7 | tr a-zA-Z A-Za-z
Priwet

Еще один способ

$ echo Привет | perl -mText::Iconv -pe '$_=Text::Iconv->new("","koi-7")->convert($_);tr/A-Za-z/a-zA-z/'
Priwet

Фишка в том что кодировка koi-8 составлена так что бы при конвертации в koi-7 (путем обнуления старшего бита), каждая буква русского алфавита соответствовала схожей по произношению букве латиницы. 'а' => 'a', 'б' => 'b', 'в' => 'w' и так далее.

Другая особенность в том, что если не указать iconv библиотеке исходную кодировку, он берет текущую кодировку системы.

0
Ваша оценка: Ничего
ravil аватар

Win-1251 кодировка в gedit

Многих смущает то, что будучи настроенным по-умолчанию gedit (дефолтный редактор в Gnome) "не понимает" win-1251 кодировку. На самом деле он прекрасно о ней знает, просто не догадывается, что нужно её поддерживать :)

Итак, для того, чтобы разубедить упрямую программулину, открываем редактор гномовых настроек (эдакий аналог реестра в windows) командой gconf-editor, и идём к ветке /apps/gedit-2/preferences/encodings

Там, в общем-то, и всё становится понятно. Параметр auto_detected редактируем таким образом, чтобы windows-1251 шёл после UTF-8, ну и аналогично - параметр shown_in_menu, он отвечает за тот самый селектор кодировок диалога "Открыть" gedit-а.

Собственно, всё. Никаких перезагрузок, никаких перезапусков gnome - всё уже работает.

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Боремся с перекодировкой текстов на кириллице

Тут уже был совет по автоопрделению кодировки в vim , и для большинства случаев этого достаточно для того что бы забыть о проблеме существования различных кодировок в кириллице. Напомню что используется enca для автоматического определения кодировок.
Но иногда и enca сдаётся и не может автоматически определить что за кодировка у текста:

Для таких случаев и предназначен скрипт , который покажет варианты перебора двойного перекодирования.

5
Ваша оценка: Ничего Рейтинг: 5 (3 голоса)

Автоопределение кодировки в vim

У меня много текстовых файлов с русским текстом в разных кодировках. Какие-то остались с времен MS-DOS, какие-то взяты с примонтированных разделов Windows, а какие-то созданы и редактируются только под Linux-ом. Соответственно, зоопарк кодировок (866, 1251, koi8-r, utf-8) всем знаком. Очень удобно обучить vim автоматически подставлять используемую в файле кодировку (определенную автоматически, не переключая ее вручную кажый раз). Есть такая утилита - enca (и enconv), которая пытается распознать кодировку файла (и в большинстве случаев делает это успешно). Ей и воспользуемся...

0
Ваша оценка: Ничего