wiki:ru/doc/common/charsets

Version 7 (modified by slavazanko, 15 years ago) (diff)

--

Переключение кодировок

Чтобы иметь возможность переключения кодировок, необходимо собрать Midnight Commander с параметром --enable-charset. Переключение кодировок работает в файловых панелях, редакторе и просмотрщике.

Список доступных кодировок хранится в файле /etc/mc/mc.charsets. Формат этого файла простой: каждая строка должна иметь следующий вид:

<имя кодировки> <описание кодировки>

"Имя кодировки" должно быть в том виде, который использует программа iconv(1). "Описание кодировки" -- это одно или несколько слов, которые будут представлять данную кодировку в меню кодировок. "Имя кодировки" и "Описание кодировки" разделяются одним или несколькими пробелами или символами табуляции.

Файл mc.charsets, идущий в поставке Midnight Commander'а, имеет следующее содержание:

ASCII           7-bit ASCII
ISO-8859-1      ISO 8859-1
ISO-8859-2      ISO 8859-2
ISO-8859-5      ISO 8859-5
CP1250          Windows 1250
CP1251          Windows 1251
CP437           CP 437
CP850           CP 850
CP852           CP 852
CP866           CP 866
KOI8-R          KOI8-R
KOI8-U          KOI8-U
UTF-8           UTF-8

Вы можете его отредактировать по своему желанию, убрав ненужные кодировки или дописав необходимые. В настоящее время поддерживаются все 8-битные кодировки, а из многобайтных -- только UTF-8. Если вы считаете, чтобы какие-то кодировки были в данном файле "из коробки", оставьте заявку в виде тикета на сайте www.midnight-commander.org.

Настройка отображения

Прежде всего требуется настроить кодировку ввода/вывода, которая должна совпадать с вашей пользовательской кодировкой, определяемой локалью (locale). Настройка производится в диалоговом окне "Отображение символов", которое вызывается через Меню->Настройки->Биты символов... При сохранении параметров Midnight Commander'а эта кодировка будет записана в файле конфигурации ~/.mc/ini (параметр display_codepage в секции [Misc]), и при следующем запуске Midnight Commander'а не потребуется её настраивать вновь.

В редакторе и просмотрщике

Чтобы поменять кодировку, нажмите комбинацию клавиш Alt-e (или выберите соответствующий пункт меню). Выберите из списка кодировку стрелками "вверх" и "вниз" и нажмите клавишу "Enter". Это приведёт к тому, что файл при отображении будет перекодирован из выбранной кодировки в пользовательскую. Физического перекодирования содержимого файла не происходит.

Поиск также будет производиться в той кодировке, которую вы выбрали. Вы можете выбрать опцию "All charsets"1 в диалоговом окне поиска, чтобы искать по всем известным кодировкам.

Если сохранить параметры редактора, то выбранная кодировка будет записана в файле конфигурации ~/.mc/ini (параметр source_codepage в секции [Misc]), и при следующем запуске редактора она будет использована для перекодирования открываемого файла.

В файловых панелях

Активируйте необходимую панель (клавишей Tab) и нажмите комбинацию клавиш Alt-e (или выберите соответствующий пункт меню). Выберите необходимую кодировку. В заголовке панели вы увидите изменения:

/некоторый/путь#enc:<выбранная кодировка>

Вы можете продолжить навигацию по подкаталогам, при этом будет производиться автоматическая перекодировка из выбранной вами кодировки в ту, которая установлена в настройках Midnight Commander'а). При необходимости вы можете ещё раз изменить кодировку текущего каталога:

/некоторый/путь#enc:<выбранная кодировка>/подкаталог#enc:<выбранная кодировка2>

Выбор пункта "<Без перекодировки>" уберёт всю информацию о перекодировке из пути к текущему каталогу.


[1] "All charsets" - по-русски "Все кодировки". В настоящий момент не переведено.