Изменение кодировки текстовых файлов — различия между версиями

Материал из Wiki AlterOS
Перейти к: навигация, поиск
(Новая страница: «При совместной работе с текстовыми файлами, созданными программными средствами, которы…»)
 
 
(не показано 48 промежуточных версий 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 ==
  
Работа в среде AlterOS
+
Вы можете использовать утилиту '''enca''' для определения и изменения кодировки текстовых файлов различных форматов: '''.txt .doc .xls .slk''' и т.д.
  
  
Установить утилиту enca:
+
Установить утилиту '''enca''':
  # sudo yum install enca
+
  $ sudo yum install enca
  
 
Определить кодировку исходного файла:
 
Определить кодировку исходного файла:
  # sudo enca -i filename.slk
+
  $ enca -i filename.slk
  
 
Пример выполнения команды:
 
Пример выполнения команды:
[[Файл:enca1.jpg]]
+
 
В нашем примере исходный файл имеет кодировку IBM866
+
[[Файл:45567.jpg]]
 +
 
 +
В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866.
 +
 
  
 
Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных:
 
Перед сменой кодировки рекомендуется сделать копию файла во избежание потерь данных:
  # cp filename.slk filename.slk.bak
+
  $ cp filename.slk filename.slk.bak
  
 
Меняем кодировку на WIN:
 
Меняем кодировку на WIN:
  # enca -x cp1251 filename.slk
+
  $ enca -x cp1251 filename.slk
  
 
Пример выполнения команды:
 
Пример выполнения команды:
[[Файл:enca2-IBM866-CP1251.jpg]]
+
 
 +
[[Файл:Enca2.JPG]]
 +
 
  
 
Проверить кодировку полученного файла:
 
Проверить кодировку полученного файла:
  # enca -i filename.slk
+
  $ enca -i filename.slk
  
 
Пример выполнения команды:  
 
Пример выполнения команды:  
[[Файл:enca3.jpg]]
+
 
 +
[[Файл:Enca3.JPG]]
 +
 
 
В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251
 
В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251
 +
  
 
Далее файл .slk редактируем в ACell как обычную электронную таблицу.
 
Далее файл .slk редактируем в ACell как обычную электронную таблицу.
  
 
Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca:
 
Чтобы вернуть исходную кодировку IBM866 (CP866) после редактирование в ACell снова воспользуемся утилитой enca:
  # enca -x IBM866 filename.slk
+
  $ enca -x IBM866 filename.slk
 +
 
 +
Пример выполнения команды:
 +
 
 +
[[Файл:45567.jpg]]
  
Пример выполнения команды:
 
[[Файл:enca1.jpg]]
 
 
В нашем примере кодировка текстового файла снова изменилась на IBM866
 
В нашем примере кодировка текстового файла снова изменилась на IBM866
  
 +
== Работа в среде Windows ==
  
Работа в среде Windows
 
  
 +
Порядок работы такой же, как и с утилитой '''enca''' в среде AlterOS только для преобразования кодировки необходимо использовать утилиту '''iconv''', которую можно скачать из Интернета. Она также поддерживает множество форматов текстовых файлов.
  
Порядок работы такой же, как и с утилитой enca в среде AlterOS только для преобразования кодировки необходимо использовать утилиту iconv, которую можно скачать из Интернета.
 
  
 
Cинтаксис:
 
Cинтаксис:
iconv -f IBM866 -t CP1251 input-file-IBM866.slk > output-file-CP1251.slk
+
$ iconv -f IBM866 -t CP1251 input-file-IBM866.txt > output-file-CP1251.txt
 +
 
 +
,где входная кодировка задаётся ключом '''-f''', а выходная — ключом '''-t'''.
  
где:
 
Входная кодировка задаётся ключом -f, а выходная — ключом -t.
 
  
 
Чтобы вернуть исходную DOS-кодировку выполняем:
 
Чтобы вернуть исходную DOS-кодировку выполняем:
iconv -f CP1251 -t IBM866 input-file-CP1251.slk > output-file-IBM866.slk
+
 
 +
$ 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

Пример выполнения команды:

45567.jpg

В нашем примере текстовый файл имеет расширение .slk и кодировку IBM866.


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

$ cp filename.slk filename.slk.bak

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

$ enca -x cp1251 filename.slk

Пример выполнения команды:

Enca2.JPG


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

$ enca -i filename.slk

Пример выполнения команды:

Enca3.JPG

В нашем примере кодировка текстового файла изменилась с IBM866 на CP1251


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

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

$ enca -x IBM866 filename.slk

Пример выполнения команды:

45567.jpg

В нашем примере кодировка текстового файла снова изменилась на 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