Блог - Linux, программирование, Я!

linux и системное администрированиеПлагин для смены кодировки в Gedit

http://bugzilla.gnome.org/show_bug.cgi?id=342918

It would be very useful to be able to change encoding of an already opened

document. Reopening documents just to change encoding (sometimes several times)

is counter-productive.

--------------------------------

Fast reopen document in a different encoding

Gedit plugin to fast reopen the file with any encoding, defined in the

Open/Save dialog.

To install extract content of the encoding.tar.gz to ~/.gnome2/gedit/plugins/

Encoding list show in the File menu.

Depend: python 2.5, pygtk

Add this plugin to default Gedit configuration!

Если по русски, то в Gedit возникают проблемы, если открыть документик в отличной от системной кодировке.

Т.е. валяется у тебя документ в cp1251, открываешь его – видишь кракозябры, приходится открывать по новой, выбирая предварительно нужную кодировку.

Этот плагин добавляет возможность сменить кодировку уже открытого документа "на лету" – в меню Файл добавляется соответствующий пунктик…

Открыл документ – увидел кракозябры… Не беда – Файл--Encoding--Выбрал нужную кодировку и Вуаля! Все в порядке!

Чтобы установить, нужно распаковать файлы encoding.gedit-plugin и encodingpy.py в папку ~/.gnome2/gedit/plugins/ , перезапустить, если открыт, Gedit и, затем, Правка--Параметры--Модули отметить галочкой " кодировка"

Смотрите – в меню файл должен появиться новый пункт.

Скачать можно, например, здесь http://bugzilla.gnome.org/attachment.cgi?id=108172&action=view

  1. Artem S.
    2009-08-28 18:06:15 | #

    Отлично! Большое спасибо. То, что нужно.

  2. Artem S.
    2009-08-28 18:09:47 | #

    Поторопился с выводом. У меня в списке кодировок почему-то есть только "Западная (ISO-8859-15)" и "Юникод UTF-8". Как на это повлиять, вы не знаете?

  3. Oakimka
    2009-09-04 16:59:26 | #

    Список кодировок досупен в gconf-editor ветка /apps/gedit-2/preferences/encodings/shown_in_menu

    Только сам текст encodingpy.py я себе малость поправил. Вместо

    enclist = sorted(([gedit.encoding_get_from_charset(enc.to_string()) for enc in shown_enc.get_list()]

    if shown_enc else enclist_func())

    + [gedit.encoding_get_utf8()], key=lambda enc: enc.to_string())

    Оставил просто

    enclist = [gedit.encoding_get_from_charset(enc.to_string()) for enc in shown_enc.get_list()]

    А то эта зараза список кодировок сортирует, да еще UTF-8 добавляет лишний раз.

  4. 2009-09-16 23:27:00 | #

    На самом деле сейчас уже нашли более логичный вариант для решения этой проблемы – можно поменять порядок очереди, в которой определяются кодировки текстов…

    Для этого нужно открыть gconf-editor ("Редактор конфигурации" в русифицированном меню), открыть ветку дерева

    /apps/gedit-2/preferences/encodings

    В правом окне два раза кликнуть по auto_detected и стрелочками переместить кодировки в таком порядке:

    CURRENT

    UTF-8

    WINDOWS-1251

  5. UnWind
    2009-11-13 10:43:29 | #

    Спасибо большое, очень помогло. Хорошая статья

  6. TrapBot
    2009-11-16 19:19:51 | #

    Таже самая утилита работает на памяти:

    http://code.google.com/p/gencodingconverter/

  7. 2010-06-23 12:42:12 | #

    [...] «на лету» можно воспользоваться специальным плагином для gedit. [...]