Изменение кодировки текстовых файлов — различия между версиями
Строка 20: | Строка 20: | ||
В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866. | В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866. | ||
− | Вы можете использовать утилиту '''enca''' для определения кодировки | + | Вы можете использовать утилиту '''enca''' для определения кодировки других форматов: .txt .doc .xls и т.д. |
Версия 10:07, 3 апреля 2023
При совместной работе с текстовыми файлами, созданными программными средствами, которые имеют уникальные настройки кодировки, может потребоваться смена кодировки вручную.
Чаще всего проблемы с кодировкой встречаются при отображении русского языка. Наиболее распространёнными кодировками с поддержкой русского языка (символы кириллицы) являются: 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
Пример выполнения команды:
В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866. Вы можете использовать утилиту enca для определения кодировки других форматов: .txt .doc .xls и т.д.
Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных:
# sudo cp filename.slk filename.slk.bak
Меняем кодировку на WIN:
# sudo enca -x cp1251 filename.slk
Пример выполнения команды:
Проверить кодировку полученного файла:
# sudo enca -i filename.slk
Пример выполнения команды:
В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251
Далее файл .slk редактируем в ACell как обычную электронную таблицу.
Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca:
# sudo enca -x IBM866 filename.slk
Пример выполнения команды:
В нашем примере кодировка текстового файла снова изменилась на 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