ICONV(1)

ИМЯ
iconv - преобразует текст из одной кодировки в другую

ОБЗОР
iconv [параметры] [-f начальная_кодировка] [-t конечная_кодировка] [входной_файл]…

ОПИСАНИЕ
Программа iconv читает текст в одной кодировке и выдаёт его в другой кодировке. Если входной файл не указан, или если как имя указана черта (-), то iconv читает данные со стандартного ввода. Если выходной файл не указан, то iconv осуществляет запись в стандартный вывод.

Если начальная_кодировка не задана, то по умолчанию используются данные о кодировке текущей локали. Если конечная_кодировка не задана, то по умолчанию используются данные о кодировке текущей локали.

ПАРАМЕТРЫ

-f начальная_кодировка, --from-code=начальная_кодировка
    Использовать начальную_кодировку для входных данных.

-t конечная_кодировка, --to-code=конечная_кодировка
    Использовать конечную_кодировку для выходных данных.

    Если в конечную_кодировку добавлена строка //IGNORE, то символы, которые невозможно преобразовать, отбрасываются и после преобразования выводится ошибка.

    Если в конечную_кодировку добавлена строка //TRANSLIT, то при необходимости и возможности символы будут транслитерироваться. Это означает, что когда символ невозможно представить в конечной кодировке, он может быть приблизительно преобразован в один из похожих символов. Символы, которые отсутствуют в конечной кодировке и их невозможно транслитерировать, в выводе заменяются на знак вопроса (?).

-l, --list
    Вывести все известные кодировки символов.

-c  Отбрасывать символы, которые невозможно преобразовать, а не прекращать работу при обнаружении такого символа.

-o файл_результата, --output=файл_результата
    Использовать файл_результата для вывода.

-s, --silent
    Параметр игнорируется, предоставляется только для совместимости.

--verbose
    Выводить информацию о ходе работы в стандартный поток ошибок при обработке нескольких файлов.

-?, --help
    Показать справку по использованию и завершить работу.

--usage
    Показать краткую справку по использованию и завершить работу.

-V, --version
    Показать номер версии, лицензию и уведомление о гарантиях для iconv.

КОД ВЫХОДА
При успешном выполнении возвращается 0, при ошибках возвращается ненулевое значение.

ОКРУЖЕНИЕ
Для преобразования между кодировками программа iconv использует функцию iconv(3), которая, в свою очередь, использует модули gconv (динамически загружаемые общие библиотеки). Перед вызовом iconv(3) программа iconv сначала должна разместить дескриптор преобразования с помощью iconv_open(3). На работу последней функции влияет настройка переменной окружения GCONV_PATH:

*   Если GCONV_PATH отсутствует, то iconv_open(3) загружает системный файл кэша настроек модуля gconv, созданного iconvconfig(8) и затем, на основе настройки, загружает модули gconv, необходимые для выполнения преобразования. Если системный файл кэша настроек модуля gconv недоступен, то используется системный файл настроек модуля gconv.

*   Если GCONV_PATH задана (список путей через двоеточие), то системный файл кэша настроек модуля gconv не используется. Вместо него iconv_open(3) пытается загрузить файлы настройки сначала из каталогов в GCONV_PATH в порядке, заданном в системном файле настроек по умолчанию модуля gconv. Если каталог не содержит файл настройки модуля gconv, все модули gconv, которые он может содержать, игнорируются. Если каталог содержит файл настройки модуля gconv и определённый им модуль, требуемый для этого преобразования, доступен в каталоге, то необходимый модуль загружается из этого каталога; используется первый подходящий модуль, найденный в GCONV_PATH. Это позволяет пользователям использовать свои модули и даже заменять системные модули, указывая такие модули в каталогах GCONV_PATH.

ФАЙЛЫ

/usr/lib/gconv
    Обычный путь по умолчанию модуля gconv.

/usr/lib/gconv/gconv-modules
    Обычный файл настройки по умолчанию модуля gconv.

/usr/lib/gconv/gconv-modules.cache
    Обычный путь кэша настроек модуля gconv.

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001.

ПРИМЕР
Преобразует текст из кодировки ISO 8859-15 в UTF-8:

    $ iconv -f ISO-8859-15 -t UTF-8 < input.txt > output.txt

В следующем примере выполняется преобразование из UTF-8 в ASCII с транслитерацией где возможно:

    $ echo abc ß α € àḃç | iconv -f UTF-8 -t ASCII//TRANSLIT
    abc ss ? EUR abc

СМОТРИТЕ ТАКЖЕ
locale(1), iconv(3), nl_langinfo(3), charsets(7), iconvconfig(8)