Как изменить кодировку gedit

Ubuntu по умолчанию использует кодировку текстовых файлов UTF-8, однако некоторые операционные системы используют другие кодировки (например, русская версия Microsoft Windows использует CP-1251). Из-за разницы в кодировках могут возникнуть проблемы при открытии текстовых файлов в редакторе Gedit - они будут нечитаемыми. Данная статья предлагает несколько простых способов решения этой проблемы.

Содержание

Описание проблемы

Ubuntu по умолчанию использует кодировку текстовых файлов UTF-8, однако некоторые операционные системы используют другие кодировки (например, русская версия Microsoft Windows использует CP-1251). Из-за разницы в кодировках могут возникнуть проблемы при открытии текстовых файлов в редакторе Gedit — они будут нечитаемыми. Данная статья предлагает несколько простых способов решения этой проблемы.

Настройка Gedit на автоопределение кодировки

Gedit может автоматически определить нужную кодировку. Для этого его нужно немного настроить.

Есть 3 варианта:

  1. Для редактора dconf-editor1)

  2. Для редактора gconf-editor2)

  3. Способ, в котором нужно выполнить всего-лишь одну команду в Терминале.

Вариант 1.

Запускаем dconf-editor и переходим в

/org/gnome/gedit/preferences/encodings/

Dconf-editor

Редактируем ключ auto_detected3), вписывая нужную нам кодировку

WINDOWS-1251

Пример строки

['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']

Вариант 2.

Выполните в терминале команду:

gconf-editor /apps/gedit-2/preferences/encodings

Откроется Редактор Конфигурации GNOME. В нем откройте для редактирования ключ auto_detected4).

Gconf-editor
В появившемся окне редактирования переместите нужную вам кодировку вверх, так, чтобы она находилась сразу после UTF-8. Нажмите OK и закройте редактор.

Encodings

Вариант 3.
Выполните в терминале команду:

gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

Для Ubuntu 16.04:

gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF-8', 'WINDOWS-1251', 'KOI8-R', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

Для Ubuntu Mate 16.04:

gsettings set org.mate.pluma auto-detected-encodings "['UTF-8', 'WINDOWS-1251', 'KOI8-R', 'CURRENT', 'ISO-8859-15', 'UTF-16']"

Данный способ является самым быстрым.

Теперь, если вы откроете файл с кодировкой WINDOWS-1251 — он будет правильно отображаться в Gedit.

Смена кодировки открытого файла

С помощью системы плагинов можно добавить возможность выбора кодировки уже открытого файла.

  • Если для распаковки используется стандартный менеджер архивов переименуйте архив в из encoding.tar.gz в encoding.tar (проверялось в Ubuntu 8.10 и 10.4)

  • Распаковываем его в ~/.local/share/gedit/plugins (если такой папки нет, то её нужно создать)

  • Запускаем Gedit и включаем в нём модуль «Кодировка» (Правка→Параметры→Модули)

После этого в главном меню Файл появляется пункт «Encoding», который позволяет менять кодировку в уже открытом документе.

Ссылки

I can not display file coded with GBK.
In gconf-editor of gnome 3.2 , I can not find encoding item of gedit .
How to set it ?
thanks

asked Jan 24, 2012 at 8:39

waterloo2005's user avatar

waterloo2005waterloo2005

2,0078 gold badges31 silver badges41 bronze badges

1

I don’t have a file encoded in GBK to test the solutions, but do try them.

Option 1: Run gedit and then open the file:

  • run gedit

  • click open

  • select in the encoding combo «add» and add GB18030 (or GBK)

  • select that encoding in the combo

  • select the file

Option 2:

  • install and run gconf-editor

  • Find /apps/gedit-2/preferences/encoding key «auto_detected» and set it to:

    [CURRENT,GB18030,GBK,GB2312,UTF-8,UTF-16]
    

Remember to backup the previous value of auto_detected!!

Option 3:
Using dconf (the «newer» gconf, used in ubuntu)

dconf read /org/gnome/gedit/preferences/encodings/auto-detected

Save the result (backup)!

dconf write /org/gnome/gedit/preferences/encodings/auto-detected "['CURRENT', 'GBK', 'GB18030', 'GB2312', 'UTF-8', 'UTF-16']"

Sources:

  • https://bugs.launchpad.net/ubuntu/+source/gedit/+bug/819714
  • https://bugzilla.redhat.com/show_bug.cgi?id=576047#c2
  • http://ubuntuforums.org/showthread.php?t=1456308
  • http://forum.ubuntu-gr.org/viewtopic.php?p=221205&http#p221205

To reset it to default:
a) use the option you backed up from dconf read command

or b) try:

dconf reset /org/gnome/gedit/preferences/encodings/auto-detected

answered Jan 24, 2012 at 10:43

Savvas Radevic's user avatar

Savvas RadevicSavvas Radevic

7,5932 gold badges36 silver badges47 bronze badges

1

If you want do it quick then install medit. All works from the box.

If you still want use gedit then you need do some work:

  1. Set auto-detect

    gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'GBK', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
    
  2. Install plugin for manual choose encoding. Really useful, especially when auto-detect don’t detect encoding properly

«Change encoding» plugin for gedit v3

# Download plugin
mkdir -p /tmp/encoding
cd /tmp/encoding
wget https://aur.archlinux.org/packages/ge/gedit-encoding-plugin/gedit-encoding-plugin.tar.gz
tar -xzvf gedit-encoding-plugin.tar.gz

# Copy to plugins directory
mkdir -p ~/.local/share/gedit/plugins
cp /tmp/encoding/gedit-encoding-plugin/encoding.plugin /tmp/encoding/gedit-encoding-plugin/encodingpy.py ~/.local/share/gedit/plugins

# Remove /tmp/encoding
rm -Rf /tmp/encoding

Then run gedit. Choose Edit->Preferences->Plugins(tab)->Check «Encoding» checkbox. After you do that you can find «Encoding» in menu «File«

Plugin description:
https://aur.archlinux.org/packages/gedit-encoding-plugin/

Plugin for gedit v2. Same author as in plugin above:
http://bugzilla.gnome.org/attachment.cgi?id=108326 (this is .tgz ext, but be careful it is a tar only archive)
or plugin for gedit v2 by another author:
http://petrstepanov.wordpress.com/2010/09/29/gedit-encoding-plugin/

!!! plugin for gedit v2 has got tar.gz ext, but it is only a tar archive that is not gzipped…

sancelot's user avatar

answered Nov 23, 2014 at 20:45

user3439968's user avatar

Ubuntu 18.10 gconf-editor is removed. Use ‘dconf-editor’ as an instead.Or use command line tool ‘dconf’.
And ‘auto-detected’ is replaced by ‘candidate-encodings’ :

dconf write /org/gnome/gedit/preferences/encodings/candidate-encodings "['CURRENT', 'GBK', 'GB18030', 'GB2312', 'UTF-8', 'UTF-16']"

answered Dec 17, 2018 at 5:28

zhuhai's user avatar

Открывая тестовый файл, который ранее был создан в Windows через программу Блокнот, вы скорее всего наткнетесь на проблему некорректного отображения русских символов в текстовом редакторе, используемом в Ubuntu по умолчанию (по умолчанию в Ubuntu используется редактор GEdit). К счастью, данную «проблему» легко решить. Ведь тут вся проблема, как вы, наверное, уже догадались, кроется всего-навсего в кодировке самого файла.

Окно редактора GEdit

Стандарты кодировки и Microsoft

Давным-давно известно, что компания Microsoft «любит» использовать собственные стандарты, отказываясь при этом от общемировых, а если кто-то не хочет с этим фактом считаться, то Microsoft попросту это игнорирует. Но Microsoft может это себе позволить, будучи хоть и платной, но самой распространенной операционной системой в мире.

Яркий пример по установлению компанией Microsoft собственных стандартов — это пакет Microsoft Office, который включает в себя такие известные программы, как MS Word и MS Excel. Если пользователь не сможет открыть файл, созданный в одном из этих редакторов на используемой им операционной системе (например, Android, Linux или Mac OS X), то ему скорее всего это доставит огромные неудобства и в конечном счете заставит отказаться от использования операционной системы, но не от самого распространенного в мире формата текстовых и табличных документов.

При этом тут как бы отходит на второй план то факт, что формат файлов ODT линуксового Open Office  в отличие от DOC и тем более DOCX является общепринятым. Мир не заставишь в одночасье отказаться от Windows, а значит, и от ее фирменного пакета Microsoft Office.

В случае с текстовым файлом Microsoft как всегда проигнорировала общепринятый стандарт кодировки символов UTF-8, используемый в операционной системе Ubuntu. Операционная система Windows по умолчанию сохраняет русский текст при использовании блокнота в кодировке Windows 1251, которая уже очень устарела. Вместо кодировки Windows 1251 сейчас принято использовать другую кодировку под названием Koi8-r.

Но поскольку кодировки Windows 1251 и Koi8-r похожи как близнецы, то редактор GEdit попросту не может распознать используемую в текстовом файле, сохраненном в Блокноте из под Windows, кодировку. Правда, эту проблему очень легко побороть — для этого нужно всего-навсего установить приоритеты кодировок в программе GEdit. Иначе говоря, нужно просто попросить GEdit вначале пробовать открыть файл в кодировке Windows 1251, а затем уже пробовать открытие в кодировке Koi8-r.

Для задания приоритета кодировок выполните запустите программу Терминал.

Окно терминала Ubuntu

А затем наберите в Терминале команду, которая указана ниже:

gsettings set org.gnome.gedit.preferences.encodings auto-detected «[‘UTF-8’, ‘WINDOWS-1251’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]»

Окно терминала Ubuntu

После успешного выполнения указанной выше команды ваш текстовый файл из Windows откроется без иероглифов в читабельном виде.

Окно редактора GEdit

На этом все. Вопросы как всегда в комментариях.

Upd 24.01.2019

В Ubuntu 18.04 для изменения приоритета кодировок в текстовом редакторе GEdit необходимо выполнять в Терминале команду


Gedit gsettings set org.gnome.gedit.preferences.encodings candidate-encodings «[‘UTF-8’, ‘WINDOWS-1251’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]»


Еще материалы о Linux

Пингвин - символ Linux

Я не могу отобразить файл, закодированный с помощью GBK. В gconf-редакторе gnome 3.2 я не могу найти элемент кодировки gedit. Как это установить? спасибо

задан
24 January 2012 в 12:39

поделиться

3 ответа

Мне не закодировали файл в GBK для тестирования решений, но действительно пробую их.

Опция 1: Выполненные gedit и затем открывают файл:

  • выполненный gedit

  • нажмите открытый

  • выберите в комбинации кодирования, «добавляют» и добавляют GB18030 (или GBK)

  • выберите то кодирование в комбинации

  • выберите файл

Опция 2:

  • установите и выполненный gconf-editor

  • Найдите/apps/gedit-2/preferences/encoding ключ «auto_detected» и установите его на:

    [CURRENT,GB18030,GBK,GB2312,UTF-8,UTF-16]
    

Не забудьте копировать предыдущее значение auto_detected!!

Опция 3: Используя dconf («более новый» gconf, используемый в человечности)

dconf read /org/gnome/gedit/preferences/encodings/auto-detected

Сохраните результат (резервное копирование)!

dconf write /org/gnome/gedit/preferences/encodings/auto-detected "['CURRENT', 'GBK', 'GB18030', 'GB2312', 'UTF-8', 'UTF-16']"

Источники:

  • https://bugs.launchpad.net/ubuntu / + source/gedit / + ошибка/819714
  • https://bugzilla.redhat.com/show_bug.cgi? id=576047#c2
  • http://ubuntuforums.org/showthread.php?t=1456308
  • http://forum.ubuntu-gr.org/viewtopic.php?p=221205&http#p221205

Сбрасывать его для установки по умолчанию: a) используют опцию, которой Вы создали резервную копию от команды чтения dconf

или попытка b):

dconf reset /org/gnome/gedit/preferences/encodings/auto-detected

ответ дан Savvas Radevic
24 January 2012 в 12:39

поделиться

Убран Ubuntu 18.10 gconf-editor. Вместо этого используйте dconf-editor. Или используйте инструмент командной строки dconf. И «автоопределение» заменяется «кодированием-кандидатом»:

dconf write /org/gnome/gedit/preferences/encodings/candidate-encodings "['CURRENT', 'GBK', 'GB18030', 'GB2312', 'UTF-8', 'UTF-16']"

ответ дан zhuhai
24 January 2012 в 12:39

поделиться

Если вы хотите сделать это быстро, установите medit . Все работы из коробки.

Если вы все еще хотите использовать gedit , вам нужно проделать определенную работу:

  1. Установить автоопределение

    gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'GBK', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
    
  2. Установите плагин для ручного выбора кодировки. Действительно полезно, особенно когда автоопределение не может правильно определить кодировку

Плагин «Изменить кодировку» для gedit v3

# Download plugin
mkdir -p /tmp/encoding
cd /tmp/encoding
wget https://aur.archlinux.org/packages/ge/gedit-encoding-plugin/gedit-encoding-plugin.tar.gz
tar -xzvf gedit-encoding-plugin.tar.gz

# Copy to plugins directory
mkdir -p ~/.local/share/gedit/plugins
cp /tmp/encoding/gedit-encoding-plugin/encoding.plugin /tmp/encoding/gedit-encoding-plugin/encodingpy.py ~/.local/share/gedit/plugins

# Remove /tmp/encoding
rm -Rf /tmp/encoding

Тогда запустить гедит. Выберите Редактировать -> Предпочтения -> Плагины (вкладка) -> Проверить « Кодировка ». После этого вы можете найти « Кодировка » в меню « Файл »

Описание плагина: https://aur.archlinux.org/packages / gedit-encoding-plugin /

Плагин для gedit v2. Тот же автор, что и в плагине выше: http://bugzilla.gnome.org/attachment.cgi?id=108326 (это .tgz ext, но будьте осторожны, это архив только для tar) или плагин для gedit v2 другого автора: http://petrstepanov.wordpress.com/2010/09/29/gedit-encoding-plugin/

!!! Плагин для gedit v2 получил tar.gz ext, но это только tar-архив, который не распаковывается …

ответ дан sancelot
24 January 2012 в 12:39

поделиться

Другие вопросы по тегам:

Похожие вопросы:

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить кодировку exe файла
  • Как изменить кодировку docx
  • Как изменить кодировку csv файла на utf 8 python 3
  • Как изменить кодировку clion
  • Как изменить кодировку bat файла

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии