Перекодировка файлов Бывают ситуации, когда нужно перекодировать текстовые файлы из одной кодировки в другую. Например, вы хотите перекодировать HTML-файлы из кодировки KOI8-R в кодировку UTF-8, чтобы создать файлы справочной системы, или хотите перенести ваши проекты из кодировки SWD в кодировку UTF-8 (для этого опять же надо перекодировать файлы справки и перекодировать виджеты). Перекодировать текстовые файлы из одной кодировки в другую возможно с помощью Note Pad (ped — Photon editor). Для стандартных кодировок это делается так (на примере перекодировки из кодировки IBM 866 в кодировку UTF-8): 1. Запустить Note Pad: ped & 2. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Cyrillic (IBM 866)». 3. Открыть текстовый файл. При этом файл перекодируется из выбранной кодировки (IBM 866) в UTF-8. 4. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Unicode in UTF-8». 5. Сохранить текстовый файл. При этом файл перекодируется из UTF-8 в выбранную кодировку (UTF-8). 6. Закрыть файл. Для кодировки SWD особый случай: чтобы перекодировать файл из кодировки SWD в какую-либо другую кодировку (отличную от IBM 866), нужно предварительно перекодировать файл из кодировки SWD в кодировку IBM 866, для этого нужно: 1. Запустить Note Pad: ped & 2. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Unicode in UTF-8». 3. Открыть текстовый файл. 4. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Western European (ISO 8859-1)». 5. Сохранить текстовый файл. 6. Закрыть файл. Таким образом, чтобы перекодировать файл из кодировки SWD в кодировку, например, UTF-8, нужно сначала перекодировать файл из кодировки SWD в кодировку IBM-866, а затем уже из кодировки IBM 866 перекодировать его в кодировку UTF-8 (таким образом придётся два раза открывать и закрывать файл). А для перекодировки из какой-либо кодировки, отличной от IBM 866 в кодировку SWD нужно предварительно перекодировать файл в кодировку IBM 866. Программно перекодировка текстовых строк осуществляется с помощью функций PxTranslate. Для перекодировки с помощью функций PxTranslateStateFromUTF() или PxTranslateFromUTF() из кодировки SWD в кодировку IBM 866 или для перекодировки с помощью функций PxTranslateStateToUTF() или PxTranslateToUTF() из кодировки IBM 866 в кодировку SWD нужно для функции PxTranslateSet() в качестве второго параметра указать "ISO-8859-1". Вы можете скачать программу фильтр-перекодировщик, которая используя функции PxTranslate считывает символы со стандартного устройства ввода stdin, перекодирует их в другую кодировку и записывает на стандартное устройство вывода stdout. Символы, которые не удаётся перекодировать, заменяются на символы подчёркивания '_'. Программу можно использовать для перекодировки файлов, используя перенаправление ввода-вывода. Программа требует задания в командной строки двух параметров: кодировка входного файла и кодировка выходного файла. В качестве кодировки (charset) может быть имя секции, один из алиасов или значение переменной Description файла /usr/photon/translations/charsets. Примеры запуска: translate windows-1251 IBM866 readme translate KOI8-R UTF-8 bookset.html translate UTF-8 ISO-8859-1 base1.wgtw Версия для QNX 4: translate. Версия для QNX 6: translate.