Изменение кодировки текстовых файлов

Материал из Wiki AlterOS
Версия от 08:01, 3 апреля 2023; Timkachev.av (обсуждение | вклад) (Новая страница: «При совместной работе с текстовыми файлами, созданными программными средствами, которы…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Чаще всего проблемы с кодировкой встречаются при отображении русского языка. Наиболее распространёнными кодировками с поддержкой русского языка (символы кириллицы) являются: UTF-8, CP1251, IBM866 (CP866), KOI8-R, ISO-8859-5.

Например, ACell не поддерживает напрямую редактирование файлов формата .slk с кодировкой IBM866 (или DOS-кодировкой). Для их редактирования в ACell предварительно необходимо сменить кодировку файла вручную на WIN-кодировку CP1251. Это можно сделать с помощью утилиты enca.


Работа в среде AlterOS


Установить утилиту enca:

# sudo yum install enca

Определить кодировку исходного файла:

# sudo enca -i filename.slk

Пример выполнения команды: Файл:Enca1.jpg В нашем примере исходный файл имеет кодировку IBM866

Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных:

# cp filename.slk filename.slk.bak

Меняем кодировку на WIN:

# enca -x cp1251 filename.slk

Пример выполнения команды: Файл:Enca2-IBM866-CP1251.jpg

Проверить кодировку полученного файла:

# enca -i filename.slk

Пример выполнения команды: Файл:Enca3.jpg В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251

Далее файл .slk редактируем в ACell как обычную электронную таблицу.

Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca:

# enca -x IBM866 filename.slk

Пример выполнения команды: Файл:Enca1.jpg В нашем примере кодировка текстового файла снова изменилась на IBM866


Работа в среде Windows


Порядок работы такой же, как и с утилитой enca в среде AlterOS только для преобразования кодировки необходимо использовать утилиту iconv, которую можно скачать из Интернета.

Cинтаксис: iconv -f IBM866 -t CP1251 input-file-IBM866.slk > output-file-CP1251.slk

где: Входная кодировка задаётся ключом -f, а выходная — ключом -t.

Чтобы вернуть исходную DOS-кодировку выполняем: iconv -f CP1251 -t IBM866 input-file-CP1251.slk > output-file-IBM866.slk