Временное изменение кодировки в консоли

Модератор: Модераторы разделов

Devilguard
Сообщения: 11
ОС: FreeBSD

Временное изменение кодировки в консоли

Сообщение Devilguard »

Проблема : в cvs нужно добавлять комменты в koi8, в консоле кодировка глючит жесткоко (именно когда на русском пишешь в koi8 если поменять в настройках консоли, в дефолтной кодировке писать можно нормально). Я часто делаю так : открываю редактор GUI там пишу что нужно, затем копирую в консоль ( в которой уже стоит кодировка koi8). Это долго и меня бесит.
Я хочу написать скрипт, который примет в качестве параметра строку в дефолтной кодировке консоли на русском сделает из нее строку в кодировке koi8 и выполнит нужную мне команду. Затем восстановит кодировку.
Впринципе ничего сложного нет, но я не знаю с помощью какой команды изменить кодировку и перекодировать строку. Есть ли вообще такие в bash/sh ? Или тут без perl ?
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Временное изменение кодировки в консоли

Сообщение KiWi »

О, боже...

iconv
Спасибо сказали:
dr-evil
Сообщения: 159
ОС: Fedora 18

Re: Временное изменение кодировки в консоли

Сообщение dr-evil »

консоле кодировка глючит жесткоко

локаль генерить пробовали? ;)
сам на эти грабли натыкался
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
Спасибо сказали:
Devilguard
Сообщения: 11
ОС: FreeBSD

Re: Временное изменение кодировки в консоли

Сообщение Devilguard »

Вообщем не знаю как у вас. У меня происходит так, что при наборе русского текста в koi8 он вставляет соверешенно не те буквы после использования delete/backspace. После ввода символа он вставляет предыдущий удаленный символ :)
Кроме того с koi8 MC выглядит мягко говоря неработельно. Вместо линий псевографики там появляются другие символы. Поэтому установить koi8 по дефолту - не выход.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Временное изменение кодировки в консоли

Сообщение rm_ »

Если надо отредактировать файл в windows-1251, а перекодировать iconv'ом в UTF и обратно не охота, я делаю так:

Код: Выделить всё

export LANG="ru_RU.CP1251"
mousepad file.txt

Работает отлично. (mousepad - это GUI текстовый редактор, вместо него можно подставить всё, что угодно.)

Вам, соответственно, надо будет устанавливать LANG в "ru_RU.KOI8-R". Если не помогает, и сыплются сообщения о "Falling back to default locale ("C")", проверьте, что в /etc/locale.gen есть строчка ru_RU.KOI8-R KOI8-R и выполните locale-gen. Это всё по опыту в Linux, как в BSD - не знаю.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Временное изменение кодировки в консоли

Сообщение sash-kan »

$ LANG=ru_RU.cp1251 luit vim /файл/в/кодировке/cp1251
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: