Изменение кодировки текстовых файлов — различия между версиями
(не показано 46 промежуточных версий 2 участников) | |||
Строка 3: | Строка 3: | ||
Чаще всего проблемы с кодировкой встречаются при отображении русского языка. Наиболее распространёнными кодировками с поддержкой русского языка (символы кириллицы) являются: UTF-8, CP1251, IBM866 (CP866), KOI8-R, ISO-8859-5. | Чаще всего проблемы с кодировкой встречаются при отображении русского языка. Наиболее распространёнными кодировками с поддержкой русского языка (символы кириллицы) являются: UTF-8, CP1251, IBM866 (CP866), KOI8-R, ISO-8859-5. | ||
− | Например, ACell не поддерживает напрямую редактирование файлов формата .slk с кодировкой IBM866 (или DOS-кодировкой). Для их редактирования в ACell предварительно необходимо сменить кодировку файла вручную на WIN-кодировку CP1251. Это можно сделать с помощью утилиты enca. | + | Например, ACell не поддерживает напрямую редактирование файлов формата .slk с кодировкой IBM866 (или DOS-кодировкой). Для их редактирования в ACell предварительно необходимо сменить кодировку файла вручную на WIN-кодировку CP1251. Это можно сделать с помощью утилиты '''enca'''. |
+ | == Работа в среде AlterOS == | ||
− | + | Вы можете использовать утилиту '''enca''' для определения и изменения кодировки текстовых файлов различных форматов: '''.txt .doc .xls .slk''' и т.д. | |
− | Установить утилиту enca: | + | Установить утилиту '''enca''': |
− | + | $ sudo yum install enca | |
Определить кодировку исходного файла: | Определить кодировку исходного файла: | ||
− | + | $ enca -i filename.slk | |
Пример выполнения команды: | Пример выполнения команды: | ||
− | |||
− | В нашем примере | + | [[Файл:45567.jpg]] |
+ | |||
+ | В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866. | ||
+ | |||
Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных: | Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных: | ||
− | + | $ cp filename.slk filename.slk.bak | |
Меняем кодировку на WIN: | Меняем кодировку на WIN: | ||
− | + | $ enca -x cp1251 filename.slk | |
Пример выполнения команды: | Пример выполнения команды: | ||
− | [[Файл: | + | |
+ | [[Файл:Enca2.JPG]] | ||
+ | |||
Проверить кодировку полученного файла: | Проверить кодировку полученного файла: | ||
− | + | $ enca -i filename.slk | |
Пример выполнения команды: | Пример выполнения команды: | ||
− | [[Файл: | + | |
+ | [[Файл:Enca3.JPG]] | ||
+ | |||
В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251 | В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251 | ||
+ | |||
Далее файл .slk редактируем в ACell как обычную электронную таблицу. | Далее файл .slk редактируем в ACell как обычную электронную таблицу. | ||
Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca: | Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca: | ||
− | + | $ enca -x IBM866 filename.slk | |
+ | |||
+ | Пример выполнения команды: | ||
+ | |||
+ | [[Файл:45567.jpg]] | ||
− | |||
− | |||
В нашем примере кодировка текстового файла снова изменилась на IBM866 | В нашем примере кодировка текстового файла снова изменилась на IBM866 | ||
+ | == Работа в среде Windows == | ||
− | |||
+ | Порядок работы такой же, как и с утилитой '''enca''' в среде AlterOS только для преобразования кодировки необходимо использовать утилиту '''iconv''', которую можно скачать из Интернета. Она также поддерживает множество форматов текстовых файлов. | ||
− | |||
Cинтаксис: | Cинтаксис: | ||
− | iconv -f IBM866 -t CP1251 input-file-IBM866. | + | $ iconv -f IBM866 -t CP1251 input-file-IBM866.txt > output-file-CP1251.txt |
+ | |||
+ | ,где входная кодировка задаётся ключом '''-f''', а выходная — ключом '''-t'''. | ||
− | |||
− | |||
Чтобы вернуть исходную DOS-кодировку выполняем: | Чтобы вернуть исходную DOS-кодировку выполняем: | ||
− | iconv -f CP1251 -t IBM866 input-file-CP1251. | + | |
+ | $ iconv -f CP1251 -t IBM866 input-file-CP1251.txt > output-file-IBM866.txt |
Текущая версия на 13:14, 26 апреля 2023
При совместной работе с текстовыми файлами, созданными программными средствами, которые имеют уникальные настройки кодировки, может потребоваться смена кодировки вручную.
Чаще всего проблемы с кодировкой встречаются при отображении русского языка. Наиболее распространёнными кодировками с поддержкой русского языка (символы кириллицы) являются: UTF-8, CP1251, IBM866 (CP866), KOI8-R, ISO-8859-5.
Например, ACell не поддерживает напрямую редактирование файлов формата .slk с кодировкой IBM866 (или DOS-кодировкой). Для их редактирования в ACell предварительно необходимо сменить кодировку файла вручную на WIN-кодировку CP1251. Это можно сделать с помощью утилиты enca.
Работа в среде AlterOS
Вы можете использовать утилиту enca для определения и изменения кодировки текстовых файлов различных форматов: .txt .doc .xls .slk и т.д.
Установить утилиту enca:
$ sudo yum install enca
Определить кодировку исходного файла:
$ enca -i filename.slk
Пример выполнения команды:
В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866.
Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных:
$ cp filename.slk filename.slk.bak
Меняем кодировку на WIN:
$ enca -x cp1251 filename.slk
Пример выполнения команды:
Проверить кодировку полученного файла:
$ enca -i filename.slk
Пример выполнения команды:
В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251
Далее файл .slk редактируем в ACell как обычную электронную таблицу.
Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca:
$ enca -x IBM866 filename.slk
Пример выполнения команды:
В нашем примере кодировка текстового файла снова изменилась на IBM866
Работа в среде Windows
Порядок работы такой же, как и с утилитой enca в среде AlterOS только для преобразования кодировки необходимо использовать утилиту iconv, которую можно скачать из Интернета. Она также поддерживает множество форматов текстовых файлов.
Cинтаксис:
$ iconv -f IBM866 -t CP1251 input-file-IBM866.txt > output-file-CP1251.txt
,где входная кодировка задаётся ключом -f, а выходная — ключом -t.
Чтобы вернуть исходную DOS-кодировку выполняем:
$ iconv -f CP1251 -t IBM866 input-file-CP1251.txt > output-file-IBM866.txt