Эмулятор функции iconv


Содержание

Не работает функция iconv(), а нужно конвертнуть из UTF-8 в windows-1251

Что же делать, когда на хостинге не работает функция iconv() и php выдает Call to undefined function: iconv() , а нужно конвертнуть из UTF-8 в windows-1251

На помощь прийдет следующая функция:

Оцени публикацию: Оценили: 24

Похожие статьи:

Справочники и учебники:

Комментарии посетителей:

а куда ее вставить? я в пхп не силен, у меня на каталоге VirtueMart такая хрень. причем первый раз. раньше как то не было. хз в чем проблема

Не всегда функция strlen() на хостингах включена, встречалась и такая проблема, поэтому еще один вариант, более актуальный:

function utf8_to_win1251($text)
<
$text=str_replace(«\xD0\xB0″,»а»,$text); $text=str_replace(«\xD0\x90″,»А»,$text);
$text=str_replace(«\xD0\xB1″,»б»,$text); $text=str_replace(«\xD0\x91″,»Б»,$text);
$text=str_replace(«\xD0\xB2″,»в»,$text); $text=str_replace(«\xD0\x92″,»В»,$text);
$text=str_replace(«\xD0\xB3″,»г»,$text); $text=str_replace(«\xD0\x93″,»Г»,$text);
$text=str_replace(«\xD0\xB4″,»д»,$text); $text=str_replace(«\xD0\x94″,»Д»,$text);
$text=str_replace(«\xD0\xB5″,»е»,$text); $text=str_replace(«\xD0\x95″,»Е»,$text);
$text=str_replace(«\xD1\x91″,»ё»,$text); $text=str_replace(«\xD0\x81″,»Ё»,$text);
$text=str_replace(«\xD0\xB6″,»ж»,$text); $text=str_replace(«\xD0\x96″,»Ж»,$text);
$text=str_replace(«\xD0\xB7″,»з»,$text); $text=str_replace(«\xD0\x97″,»З»,$text);
$text=str_replace(«\xD0\xB8″,»и»,$text); $text=str_replace(«\xD0\x98″,»И»,$text);
$text=str_replace(«\xD0\xB9″,»й»,$text); $text=str_replace(«\xD0\x99″,»Й»,$text);
$text=str_replace(«\xD0\xBA»,»к»,$text); $text=str_replace(«\xD0\x9A»,»К»,$text);
$text=str_replace(«\xD0\xBB»,»л»,$text); $text=str_replace(«\xD0\x9B»,»Л»,$text);
$text=str_replace(«\xD0\xBC»,»м»,$text); $text=str_replace(«\xD0\x9C»,»М»,$text);
$text=str_replace(«\xD0\xBD»,»н»,$text); $text=str_replace(«\xD0\x9D»,»Н»,$text);
$text=str_replace(«\xD0\xBE»,»о»,$text); $text=str_replace(«\xD0\x9E»,»О»,$text);
$text=str_replace(«\xD0\xBF»,»п»,$text); $text=str_replace(«\xD0\x9F»,»П»,$text);
$text=str_replace(«\xD1\x80″,»р»,$text); $text=str_replace(«\xD0\xA0″,»Р»,$text);
$text=str_replace(«\xD1\x81″,»с»,$text); $text=str_replace(«\xD0\xA1″,»С»,$text);
$text=str_replace(«\xD1\x82″,»т»,$text); $text=str_replace(«\xD0\xA2″,»Т»,$text);
$text=str_replace(«\xD1\x83″,»у»,$text); $text=str_replace(«\xD0\xA3″,»У»,$text);
$text=str_replace(«\xD1\x84″,»ф»,$text); $text=str_replace(«\xD0\xA4″,»Ф»,$text);
$text=str_replace(«\xD1\x85″,»х»,$text); $text=str_replace(«\xD0\xA5″,»Х»,$text);
$text=str_replace(«\xD1\x86″,»ц»,$text); $text=str_replace(«\xD0\xA6″,»Ц»,$text);
$text=str_replace(«\xD1\x87″,»ч»,$text); $text=str_replace(«\xD0\xA7″,»Ч»,$text);
$text=str_replace(«\xD1\x88″,»ш»,$text); $text=str_replace(«\xD0\xA8″,»Ш»,$text);
$text=str_replace(«\xD1\x89″,»щ»,$text); $text=str_replace(«\xD0\xA9″,»Щ»,$text);
$text=str_replace(«\xD1\x8A»,»ъ»,$text); $text=str_replace(«\xD0\xAA»,»Ъ»,$text);
$text=str_replace(«\xD1\x8B»,»ы»,$text); $text=str_replace(«\xD0\xAB»,»Ы»,$text);
$text=str_replace(«\xD1\x8C»,»ь»,$text); $text=str_replace(«\xD0\xAC»,»Ь»,$text);
$text=str_replace(«\xD1\x8D»,»э»,$text); $text=str_replace(«\xD0\xAD»,»Э»,$text);
$text=str_replace(«\xD1\x8E»,»ю»,$text); $text=str_replace(«\xD0\xAE»,»Ю»,$text);
$text=str_replace(«\xD1\x8F»,»я»,$text); $text=str_replace(«\xD0\xAF»,»Я»,$text);
$text=str_replace(«\xe2\x84\x96″,»№»,$text);
return $text;
>

Эмулятор функции iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv — Преобразовывает символы строки в другую кодировку

Описание string iconv ( string in_charset, string out_charset, string str )

Производит преобразование кодировки символов строки str из начальной кодировки in_charset в конечную out_charset . Возвращает строку в новой кодировке, или FALSE в случае ошибки.

Если добавить //TRANSLIT к параметру out_charset будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним или несколькими аналогами. Если добавить //IGNORE , то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str , обрезанная до первого недопустимого символа.

Функция iconv

Что-то с iconv я делаю не так!

Вложения

FONT.ZIP (174.4 Кб, 14 просмотров)
12.04.2011, 11:26

Не работает iconv: Fatal error: Call to undefined function iconv().
Доброе время суток! Подскажите пожалуйста, почему может не работать функция iconv? Версия.

PHPExcel Notice: iconv() [function.iconv]: Detected an illegal character in input string!
Блин задолбала эта библиотека. Выдает 2 ошибки. : Detected an illegal character in input.


ICONV — зачем нужна iconv.output_encoding и иже с ней?
Добрый вечер. Есть вопрос по расширению ICONV для преобразования кодировок. Кто-нибудь знает, для.

функция iconv обрезает русские символы
Товарищи, функция iconv обрезает русские символы. Т.е. если переменой $kod присвоить к примеру.

Iconv
Приветствую уважаемые форумчане. Не могу преобразовать кириллицу в UTF-8 с помощью iconv Есть.

Программирование: Разработка и отладка программ

Если вашему продукту требуется поддержка национальных языков (NLS), скорее всего, вы столкнетесь с необходимостью применения различных кодовых страниц для представления информации. В AIX входят несколько программ, предназначенных для перекодирования данных. Эти программы обычно называют перекодировщиками. В этом разделе вы найдете сведения по следующим темам:

  • Вводная информация о перекодировщиках
  • Стандартные перекодировщики
  • Библиотека libiconv
  • Работа с перекодировщиками
  • Список перекодировщиков

При передаче данных из одного компьютера в другой может потребоваться преобразование из кодировки исходной машины в кодировку машины-получателя. Например, при передаче данных в систему VM рабочие станции преобразуют их из формата ISO8859-1 в формат EBCDIC.

Кодовым набором называется соответствие между кодовыми знаками и графическим представлением символов, а также между кодовыми знаками и управляющими символами. Преобразование данных требуется во всех случаях, когда они должны быть показаны пользователю не в той кодировке, в которых они получены или хранятся в системе.

В AIX предусмотрены два интерфейса перекодировки:

команда iconv Позволяет преобразовать данные из кодировки FromCode в кодировку ToCode .
функции libiconv (Библиотека libiconv) Вы можете напрямую вызывать процедуры этой библиотеки из ваших программ.

В AIX предусмотрены библиотеки преобразования данных. Процедуры из этих библиотек можно напрямую вызывать из пользовательских программ. Эти библиотеки находятся в каталогах /usr/lib/nls/loc/iconv/* и /usr/lib/nls/loc/iconvTable/* .

В эти библиотеки входят не только стандартные, но и сетевые процедуры преобразования кодовых наборов. В сетевой среде способ преобразования данных зависит от кодовых наборов удаленных систем и применяемых протоколов связи.

Сетевые перекодировщики применяются для преобразования информации, передаваемой между компьютерами по сети. Для преобразования данных из одного внутреннего кодового набора в другой требуются специальные функции перекодировки. Для удобства пользователей в AIX был предусмотрен единый унифицированный интерфейс перекодировки, не зависящий от конкретных кодовых страниц. Такой интерфейс предоставляют функции iconv .

В AIX предусмотрено несколько стандартных перекодировщиков, которые применяются с функциями и командой iconv . В следующем списке перечислены типы перекодировщиков:

Типы перекодировщиков Описание
Табличный перекодировщик (Список перекодировщиков для кодовых наборов PC, ISO и EBCDIC) Преобразует однобайтовые кодовые наборы. Выполняет побайтное преобразование по таблице.
Алгоритмический перекодировщик (Список перекодировщиков многобайтовых кодовых наборов) Выполняет преобразования, которые невозможно сделать с помощью простого табличного перекодировщика. Примерами могут служить преобразования многобайтовых наборов символов.

Сетевые перекодировщики Описание
Список перекодировщиков для сетевого обмена—7-разрядные Выполняет перекодирование между внутренними кодовыми наборами систем и стандартными 7-разрядными кодовыми наборами стандарта ISO2022.
Список перекодировщиков для сетевого обмена—8-разрядные Выполняет перекодирование между внутренними кодовыми наборами систем и стандартными 8-разрядными кодовыми наборами стандарта ISO2022.
Список перекодировщиков для сетевого обмена—Сложный текст Выполняет преобразование между сложным текстом и внутренними кодовыми наборами.
Список перекодировщиков для сетевого обмена—uucode Функционально эквивалентен командам uuencode и uudecode .
Список перекодировщиков UCS-2 Преобразует данные UCS-2 в другие кодировки и обратно.
Список перекодировщиков для UTF-8 Преобразует данные UTF-8 в другие кодировки и обратно.

Прочие перекодировщики Описание
Список прочих перекодировщиков Применяются некоторыми перекодировщиками из числа описанных выше.

Интерфейс прикладных программ (API) iconv включает три функции, необходимые для перекодирования:

iconv_open Выполняет инициализацию процесса преобразования данных из кодировки FromCode в кодировку ToCode . Строка вызова будет зависеть от того, какие именно перекодировщики установлены в системе. Если инициализация выполнена успешно, эта процедура возвращает дескриптор перекодировщика iconv_t .
Функция iconv Вызывает функцию преобразования через дескриптор, полученный от функции iconv_open . Принимает следующие параметры: inbuf — ссылку на начало преобразуемых данных, inbytesleft — объем данных в байтах, outbuf — ссылку на выходной буфер, и outbytesleft — размер выходного буфера.

Если процесс перекодирования зависит от состояния входных данных, то для сброса функции в начальное состояние ее нужно вызвать с нулевым указателем в качестве значения inbuf . Если после сброса эта функция будет вызвана с ненулевым значением параметра inbuf , ее состояние будет откорректировано соответствующим образом.

iconv_close Закрывает и освобождает дескриптор преобразования, определенный параметром cd .

В сетевой среде способ преобразования данных зависит от следующих факторов:

  • Исходного и требуемого кодовых наборов
  • Количеством значащих разрядов при передаче данных (7 или 8, зависит от протокола связи)

В следующей таблице приведены рекомендации по применению различных методов перекодировки. Дополнительная информация приведена в разделах Список перекодировщиков для сетевого обмена—7-разрядные и Список перекодировщиков для сетевого обмена—8-разрядные.

Обзор методов и рекомендации
Передача данных между системами с одинаковыми кодовыми наборами Передача данных между системами с разными или неизвестными кодовыми наборами
Протокол Протокол
Рекомендуемый метод Только 7-разрядные данные 8-разрядные данные Только 7-разрядные данные 8-разрядные данные
без перекодирования Недопустим Оптимальный выбор Недопустим Недопустим, если кодовый набор удаленного компьютера неизвестен
fold7 OK OK Оптимальный выбор OK
fold8 Недопустим OK Недопустим Оптимальный выбор
uucode Оптимальный выбор OK Недопустим Недопустим

Если кодировки отправителя и получателя совпадают, возможны следующие варианты:

  • Если протокол связи поддерживает передачу 8-разрядных данных, то преобразование не требуется.
  • Если протокол связи поддерживает передачу только 7-разрядных данных, то 8-разрядные кодовые знаки должны быть преобразованы в 7-разрядные. Рекомендуем воспользоваться одним из следующих методов интерфейса iconv:
    Список перекодировщиков для сетевого обмена—uucodeФункционально эквивалентен командам uuencode и uudecode . На наш взгляд, это оптимальный метод.
    Список перекодировщиков для сетевого обмена—7-разрядныеПреобразует данные между внутренними 7-разрядными кодовыми наборами. Этот метод удобен для передачи символов ASCII.


Если кодировки отправителя и получателя не совпадают, то возможны следующие варианты:

  • Если протокол допускает передачу только 7-разрядных данных, рекомендуется применять метод fold7.
  • Если протокол поддерживает передачу 8-разрядных данных и вам известен кодовый набор получателя, рекомендуется перекодировать данные с помощью интерфейса iconv. Если кодировка получателя неизвестна, воспользуйтесь следующим методом:
    Список перекодировщиков для сетевого обмена—8-разрядныеПреобразует внутренние кодовые наборы в стандартные форматы сетевого обмена. Данные передаются в 8-разрядном формате, из которого получатель сможет восстановить их в своей собственной кодировке.

Ниже приведены примеры применения функции iconv_open в различных ситуациях:


    Кодовые наборы отправителя и получателя совпадают:

Если протокол допускает передачу 8-разрядных данных, то преобразование не требуется.

Если протокол допускает передачу только 7-разрядных данных, рекомендуется выполнить следующие операции:

Кодировки отправителя и получателя не совпадают:

Если кодовый набор получателя неизвестен и протокол допускает передачу 8-разрядных данных, рекомендуется выполнить следующие операции:

Если протокол допускает передачу только 7-разрядных данных, рекомендуется выполнить следующие операции:

Функция iconv_open использует для поиска перекодировщика переменную среды LOCPATH ; при этом имя перекодировщика должно быть указано в формате

старый-кодовый-набор обозначает кодовый набор отправителя, а новый-кодовый-набор — кодовый набор получателя. Строки разделяются символом подчеркивания.

Примечание: все программы setuid и setgid игнорируют значение переменной среды LOCPATH .

Поскольку перекодировщик iconv представляет собой загружаемый объектный модуль, в 32- и 64-разрядных средах должны применяться различные модули. В 64-разрядной среде применяется процедура iconv _open, которая пользуется перекодировщиками следующего вида:

Библиотека iconv автоматически определяет тип загружаемого объекта (для 32- или 64-разрядной среды).

Если функция iconv_open не может найти перекодировщик, она использует значения исходного/целевого кодового набора для поиска файла табличного преобразования. Файлы, в котором хранятся таблицы преобразования создаются командой genxlt .

Перекодировщик iconvTable использует для поиска файла переменную среды LOCPATH ; при этом имя файла должно быть задано в формате

Если перекодировщик найден, он загружает и иинициализирует его. Дескриптор перекодировщика iconv_t сбрасывается в свое исходное состояние.

Перекодировщики — это исполняемые функции, которые преобразуют данные согласно некоторому набору правил. Таблицы перекодировки — это массивы данных, задающие однозначное побайтовое преобразование информации. Перекодировщики и таблицы хранятся в разных каталогах:

/usr/lib/nls/loc/iconv Перекодировщики
/usr/lib/nls/loc/iconvTable Таблицы перекодировки

После того как программа перекодировки откомпилирована и скомпонована с библиотекой libiconv.a , ее помещают в каталог /usr/lib/nls/loc/iconv .

Таблицы преобразования для кодировки Unicode (или UCS-2) хранятся в следующем каталоге:

Перекодировщик $LOCPATH/uconv/UCSTBL предназначен для преобразования данных в кодировку UCS-2 и обратно с помощью утилит iconv . Для того чтобы функции iconv могли работать с таблицами преобразования uconvTable , в каталоге $LOCPATH/iconv нужно настроить необходимые связи. Например, для кодового набора «X»:


Программа «Универсальный перекодировщик» может выполнять преобразования между любыми двумя кодовыми наборами, для каждого из которых возможно преобразование в UCS-2 и обратно. Предположим, что существуют следующие таблицы перекодировки:

Тогда можно однозначно определить следующее преобразование:

Это преобразование можно будет выполнить с помощью $LOCPATH/iconv/Universal_UCS_Conv . Преобразование X->Y задается путем установки связей с универсальным перекодировщиком, например:

Интерфейс iconv представляет собой набор функций инициализации, выполнения и сброса процессов перекодировки:

  • iconv_open
  • iconv (Функция iconv)
  • iconv_close

Ниже показано, каким образом с помощью указанных функций вы можете создать фильтр-перекодировщик, принимающий в качестве исходных аргументов параметры ИсходныйКодовыйНабор и ЦелевойКодовыйНабор .

Кодовым наборам присвоены имена в формате CodesetRegistry — CodesetEncoding , где:

CodesetRegistry Указывает организацию, разработавшую кодовый набор. Значение CodesetRegistry должно состоять только из прописных латинских букв и цифр (A-Z, 0-9).
CodesetEncoding Идентификатор кодового набора.

Переменная from,to , используемая командой iconv и функцией iconv_open , определяет файл с именем в формате / usr / lib / nls / loc / iconv / %f _ %t или / usr / lib / nls / loc / iconvTable / %f _ %t , где:

%f Указывает имя кодового набора отправителя ( FromCode ).
%t Указывает имя кодового набора получателя ( ToCode ).

Перекодировщики преобразуют данные из одного кодового набора в другой. Перекодировщики, поддерживаемые библиотекой ICONV, описаны в разделах, следующих ниже. Все перекодировщики, поставляемые совместно с BOS, находятся в каталоге /usr/lib/nls/loc/iconv/* или /usr/lib/nls/loc/iconvTable/* .

В этих каталогах также содержатся частные перекодировщики; то есть те, к которым обращаются только другие перекодировщики. Однако, пользователи и программы никогда не используют их, а лишь те перекодировщики, которые приведенных в следующих списках.

Если перекодировщик, поставляемый с BOS Runtime Environment отсутствует в этом списке, то они считаются частными и подлежат изменению или удалению. Перекодировщики, поставляемые с другими продуктами можно также помещать в каталоги /usr/lib/nls/loc/iconv/* и /usr/lib/nls/loc/iconvTable/* .

Эти перекодировщики выполняют преобразования между однобайтовыми кодовыми наборами PC, ISO и EBCDIC. Они позволяют выполнять двухсторонние перекодировки между PC и ISO, PC и EBCDIC, ISO и EBCDIC.

Возможны преобразования между совместимыми кодовыми наборами, например из латиницы-1 в латиницу-1, из греческого в греческий. Однако, эти перекодировщики не поддерживают преобразования между различными кодовыми наборами EBCDIC для национальных языков. Более подробные сведения о перекодировках между несовместимыми кодовыми наборами приведены в разделах Список перекодировщиков для сетевого обмена—7-разрядные и Список перекодировщиков для сетевого обмена—8-разрядные.

Для создания перекодировочных таблиц в каталоге iconvTable предназначена команда genxlt .

Эта таблица содержит список названий совместимых кодовых наборов. В каждой строке таблицы указаны названия исходного и конечного кодового набора, которые потребуются для запуска перекодировки.

Примечание: Кодовые наборы PC и ISO основаны на кодировке ASCII.

Совместимость кодовых наборов
Набор символов Языки PC ISO EBCDIC
Латиница-1 Английский (США), Португальский, Французский (Канада) IBM-850 ISO8859-1 IBM-037
Латиница-1 Датский, Норвежский IBM-850 ISO8859-1 IBM-277
Латиница-1 Финский, Шведский IBM-850 ISO8859-1 IBM-278
Латиница-1 Итальянский IBM-850 ISO8859-1 IBM-280
Латиница-1 Японский IBM-850 ISO8859-1 IBM-281
Латиница-1 Испанский IBM-850 ISO8859-1 IBM-284
Латиница-1 Английский (Великобритания) IBM-850 ISO8859-1 IBM-285
Латиница-1 Немецкий IBM-850 ISO8859-1 IBM-273
Латиница-1 Французский IBM-850 ISO8859-1 IBM-297
Латиница-1 Бельгийский, Немецкий (Швейцария) IBM-850 ISO8859-1 IBM-500
Латиница-2 Хорватский, Чехословацкий, Венгерский, Польский, Румынский, Сербский латинский, Словацкий, Словенский IBM-852 ISO88859-2 IBM-870
Кириллица Болгарский, Македонский, Сербский (кириллица), Русский IBM-855 ISO8859-5 IBM-880 IBM-1025
Кириллица Русский IBM-866 ISO8859-5 IBM-1025
Иврит Иврит IBM-856 IBM-862 ISO8859-8 IBM-424 IBM-803
Турецкие символы Турецкий IBM-857 ISO8859-9 IBM-1026
Арабские символы Арабский IBM-864 IBM-1046 ISO8859-6 IBM-420
Греческие символы Греческий IBM-869 ISO8859-7 IBM-875
Греческие символы Греческий IBM-869 ISO8859-7 IBM-875
Балтийские символы Литовский, Латвийский, Эстонский IBM-921 IBM-922 IBM-1112 IBM-1122

Примечание: Если определенный символ отсутствует в целевом кодовом наборе, то он будет преобразован в некоторый символ замещения, определяемый данным кодовым набором.

Следующая таблица содержит описание перекодировщиков inconvTable , расположенных в каталоге /usr/lib/nls/loc/iconvTable :

Перекодировщик iconvTable
Таблица преобразования Описание Язык
IBM-037_IBM-850 из IBM-037 в IBM-850 Английский (США), Португальский, Французский (Канада)
IBM-273_IBM-850 из IBM-273 в IBM-850 Немецкий
IBM-277_IBM-850 из IBM-277 в IBM-850 Датский, Норвежский
IBM-278_IBM-850 из IBM-278 в IBM-850 Финский, Шведский
IBM-280_IBM-850 из IBM-280 в IBM-850 Итальянский
IBM-281_IBM-850 из IBM-281 в IBM-850 Японский (латинские символы)
IBM-284_IBM-850 из IBM-284 в IBM-850 Испанский
IBM-285_IBM-850 из IBM-285 в IBM-850 Английский (Великобритания)
IBM-297_IBM-850 из IBM-297 в IBM-850 Французский
IBM-420_IBM_1046 из IBM-420 в IBM-1046 Арабский
IBM-424_IBM-856 из IBM-424 в IBM-856 Иврит
IBM-424_IBM-862 из IBM-424 в IBM-862 Иврит
IBM-500_IBM-850 из IBM-500 в IBM-850 Бельгийский, Немецкий (Швейцария)
IBM-803_IBM-856 из IBM-803 в IBM-856 Иврит
IBM-803_IBM-862 из IBM-803 в IBM-862 Иврит
IBM-850_IBM-037 из IBM-850 в IBM-037 Английский (США), Португальский, Французский (Канада)
IBM-850_IBM-273 из IBM-850 в IBM-273 Немецкий
IBM-850_IBM-277 из IBM-850 в IBM-277 Датский, Норвежский
IBM-850_IBM-278 из IBM-850 в IBM-278 Финский, Шведский
IBM-850_IBM-280 из IBM-850 в IBM-280 Итальянский
IBM-850_IBM-281 из IBM-850 в IBM-281 Японский (латинские символы)
IBM-850_IBM-284 из IBM-850 в IBM-284 Испанский
IBM-850_IBM-285 из IBM-850 в IBM-285 Английский (Великобритания)
IBM-850_IBM-297 из IBM-850 в IBM-297 Французский
IBM-850_IBM-500 из IBM-850 в IBM-500 Бельгийский, Немецкий (Швейцария)
IBM-856_IBM-424 из IBM-856 в IBM-424 Иврит
IBM-856_IBM-803 из IBM-856 в IBM-803 Иврит
IBM-856_IBM-862 из IBM-856 в IBM-862 Иврит
IBM-862_IBM-424 из IBM-862 в IBM-424 Иврит
IBM-862_IBM-803 из IBM-862 в IBM-803 Иврит
IBM-862_IBM-856 из IBM-862 в IBM-856 Иврит
IBM-864_IBM-1046 из IBM-864 в IBM-1046 Арабский
IBM-921_IBM-1112 из IBM-921 в IBM-1112 Литовский, Латвийский
IBM-922_IBM-1122 из IBM-922 в IBM-1122 Эстонский
IBM-1112_IBM-921 из IBM-1121 в IBM-921 Литовский, Латвийский
IBM-1122_IBM-922 из IBM-1122 в IBM-922 Эстонский
IBM-1046_IBM-420 из IBM-1046 в IBM-420 Арабский
IBM-1046_IBM-864 из IBM-1046 в IBM-864 Арабский
IBM-037_ISO8859-1 из IBM-037 в ISO8859-1 Английский (США), Португальский, Французский (Канада)
IBM-273_ISO8859-1 из IBM-273 в ISO8859-1 Немецкий
IBM-277_ISO8859-1 из IBM-277 в ISO8859-1 Датский, Норвежский
IBM-278_ISO8859-1 из IBM-278 в ISO8859-1 Финский, Шведский
IBM-280_ISO8859-1 из IBM-280 в ISO8859-1 Итальянский
IBM-281_ISO8859-1 из IBM-281 в ISO8859-1 Японский (латинские символы)
IBM-284_ISO8859-1 из IBM-284 в ISO8859-1 Испанский
IBM-285_ISO8859-1 из IBM-285 в ISO8859-1 Английский (Великобритания)
IBM-297_ISO8859-1 из IBM-297 в ISO8859-1 Французский
IBM-420_ISO8859-6 из IBM-420 в ISO8859-6 Арабский
IBM-424_ISO8859-8 из IBM-424 в ISO8859-8 Иврит
IBM-500_ISO8859-1 из IBM-500 в ISO8859-1 Бельгийский, Немецкий (Швейцария)
IBM-803_ISO8859-8 из IBM-803 в ISO8859-8 Иврит
IBM-852_ISO8859-2 из IBM-852 с ISO8859-2 Хорватский, Чехословацкий, Венгерский, Польский, Румынский, Сербский латинский, Словацкий, Словенский
IBM-855_ISO8859-5 из IBM-855 в ISO8859-5 Болгарский, Македонский, Сербский (кириллица), Русский
IBM-866_ISO8859-5 из IBM-866 в ISO8859-5 Русский
IBM-869_ISO8859-7 из IBM-869 в ISO8859-7 Греческий
IBM-875_ISO8859-7 из IBM-875 в ISO8859-7 Греческий
IBM-870_ISO8859-2 из IBM-870 с ISO8859-2 Хорватский Чехословацкий, Венгерский, Польский, Румынский, Сербский, Словацкий, Словенский
IBM-880_ISO8859-5 из IBM-880 в ISO8859-5 Болгарский, Македонский, Сербский (кириллица), Русский
IBM-1025_ISO8859-5 из IBM-1025 в ISO8859-5 Болгарский, Македонский, Сербский (кириллица), Русский
IBM-857_ISO8859-9 из IBM-857 в ISO8859-9 Турецкий
IBM-1026_ISO8859-9 из IBM-1026 в ISO8859-9 Турецкий
IBM-850_ISO8859-1 из IBM-850 в ISO8859-1 Латинский
IBM-856_ISO8859-8 из IBM-856 в ISO8859-8 Иврит
IBM-862_ISO8859-8 из IBM-862 в ISO8859-8 Иврит
IBM-864_ISO8859-6 из IBM-864 в ISO8859-6 Арабский
IBM-1046_ISO8859-6 из IBM-1046 в ISO8859-6 Арабский
ISO8859-1_IBM-850 из ISO8859-1 в IBM-850 Латинский
ISO8859-6_IBM-864 из ISO8859-6 в IBM-864 Арабский
ISO8859-6_IBM-1046 из ISO8859-6 в IBM-1046 Арабский
ISO8859-8_IBM-856 из ISO8859-8 в IBM-856 Иврит
ISO8859-8_IBM-862 из ISO8859-8 в IBM-862 Иврит
ISO8859-1_IBM-037 из ISO8859-1 в IBM-037 Английский (США), Португальский, Французский (Канада)
ISO8859-1_IBM-273 из ISO8859-1 в IBM-273 Немецкий
ISO8859-1_IBM-277 из ISO8859-1 в IBM-277 Датский, Норвежский
ISO8859-1_IBM-278 из ISO8859-1 в IBM-278 Финский, Шведский
ISO8859-1_IBM-280 из ISO8859-1 в IBM-280 Итальянский
ISO8859-1_IBM-281 из ISO8859-1 в IBM-281 Японский (латинские символы)
ISO8859-1_IBM-284 из ISO8859-1 в IBM-284 Испанский
ISO8859-1_IBM-285 из ISO8859-1 в IBM-285 Английский (Великобритания)
ISO8859-1_IBM-297 из ISO8859-1 в IBM-297 Французский
ISO8859-1_IBM-500 из ISO8859-1 в IBM-500 Бельгийский, Немецкий (Швейцария)
ISO8859-2_IBM-852 из ISO8859-2 в IBM-852 Хорватский, Чехословацкий, Венгерский, Польский, Румынский, Сербский латинский, Словацкий, Словенский
ISO8859-2_IBM-870 из ISO8859-2 в IBM-870 Хорватский Чехословацкий, Венгерский, Польский, Румынский, Сербский (латинские символы), Словацкий, Словенский
ISO8859-5_IBM-855 из ISO8859-5 в IBM-855 Болгарский, Македонский, Сербский (кириллица), Русский
ISO8859-5_IBM-880 из ISO8859-5 в IBM-880 Болгарский, Македонский, Сербский (кириллица), Русский
ISO8859-5_IBM-1025 из ISO8859-5 в IBM-1025 Болгарский, Македонский, Сербский (кириллица), Русский
ISO8859-6_IBM-420 из ISO8859-6 в IBM-420 Арабский
ISO8859-5_IBM-866 из ISO8859-5 в IBM-866 Русский
ISO8859-7_IBM-869 из ISO8859-7 в IBM-869 Греческий
ISO8859-7_IBM-875 из ISO8859-7 в IBM-875 Греческий
ISO8859-8_IBM-424 из ISO8859-8 в IBM-424 Иврит
ISO8859-8_IBM-803 из ISO8859-8 в IBM-803 Иврит
ISO8859-9_IBM-857 из ISO8859-9 в IBM-857 Турецкий
ISO8859-9_IBM-1026 из ISO8859-9 в IBM-1026 Турецкий

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

  • Кодовые наборы многобайтовых символов PC
  • Кодовые наборы многобайтовых символов EUC (на основе ISO)
  • Кодовые наборы многобайтовых символов EBCDIC


Эта таблица содержит список названий совместимых кодовых наборов. В каждой строке таблицы указаны названия исходного и конечного кодового набора, которые потребуются для запуска перекодировки.

Совместимость кодовых наборов
ЯзыкPCISOEBCDIC
ЯпонскийIBM-932IBM-eucJPIBM-930, IBM-939
Японский
(совместимый с MS)
IBM-943IBM-eucJPIBM-930, IBM-939
КорейскийIBM-934IBM-eucKRIBM-933
Традиционный китайскийIBM-938, big-5IBM-eucTWIBM-937
Упрощенный китайскийIBM-1381IBM-eucCNIBM-935

  1. Предусмотрена возможность преобразования между символами упрощенного и традиционного китайского языка (IBM-eucTW IBM-eucCN и big5 IBM-eucCN).
  2. UTF-8 — это дополнительный кодовый набор. Дополнительная информация по этому вопросу приведена в разделе Список перекодировщиков для UTF-8.

Этот список содержит описания перекодировщиков кодовых наборов многобайтовых символов из каталога /usr/lib/nls/loc/iconv .

Перекодировщик Описание
IBM-eucJP_IBM-932 из IBM-eucJP в IBM-932
IBM-eucJP_IBM-943 из IBM-eucJP в IBM-943
IBM-eucJP_IBM-930 из IBM-eucJP в IBM-930
IBM-eucCN_IBM-936(PC5550) из IBM-eucCN в IBM-936(PC5550)
IBM-eucCN_IBM-935 из IBM-eucCN в IBM-935
IBM-eucJP_IBM-939 из IBM-eucJP в IBM-939
IBM-eucCN_IBM-1381 из IBM-eucCN в IBM-1381
IBM-943_IBM-932 из IBM-943 в IBM-932
IBM-932_IBM-943 из IBM-932 в IBM-943
IBM-930_IBM-932 из IBM-930 в IBM-932
IBM-930_IBM-943 из IBM-930 в IBM-943
IBM-930_IBM-eucJP из IBM-930 в IBM-eucJP
IBM-932_IBM-eucJP из IBM-932 в IBM-eucJP
IBM-932_IBM-930 из IBM-932 в IBM-930
IBM-943_IBM-eucJP из IBM-943 в IBM-eucJP
IBM-943_IBM-930 из IBM-943 в IBM-930
IBM-936(PC5550)_IBM-935 из IBM-936(PC5550) в IBM-935
IBM-936_IBM-935 из IBM-936 в IBM-935
IBM-932_IBM-939 из IBM-932 в IBM-939
IBM-939_IBM-932 из IBM-939 в IBM-932
IBM-943_IBM-939 из IBM-943 в IBM-939
IBM-939_IBM-943 из IBM-939 в IBM-943
IBM-935_IBM-936(PC5550) из IBM-935 в IBM-936(PC5550)
IBM-935_IBM-936 из IBM-935 в IBM-936
IBM-1381_IBM-935 из IBM-1381 в IBM-935
IBM-935_IBM-1381 из IBM-935 в IBM-1381
IBM-935_IBM-eucCN из IBM-935 в IBM-eucCN
IBM-936(PC5550)_IBM-eucCN из IBM-936(PC5550) в IBM-eucCN
IBM-eucTW_IBM-eucCN из IBM-eucTW в IBM-eucCN
big5_IBM-eucCN из big5 в IBM-eucCN
IBM-1381_IBM-eucCN из IBM-1381 в IBM-eucCN
IBM-939_IBM-eucJP из IBM-939 в IBM-eucJP
IBM-eucKR_IBM-934 из IBM-eucKR в IBM-934
IBM-934_IBM-eucKR из IBM-934 в IBM-eucKR
IBM-eucKR_IBM-933 из IBM-eucKR в IBM-933
IBM-933_IBM-eucKR из IBM-933 в IBM-eucKR
IBM-eucTW_IBM-937 из IBM-eucTW в IBM-937
IBM-938_IBM-937 из IBM-938 в IBM-937
big-5_IBM-937 из big-5 в IBM-937
IBM-eucCN_IBM-eucTW из IBM-eucCN в IBM-eucTW
IBM-937_IBM-eucTW из IBM-937 в IBM-eucTW
IBM-937_IBM-938 из IBM-937 в IBM-938
IBM-eucTW_IBM-938 из IBM_eucTW в IBM_938
IBM-eucCN_big5 из IBM-eucCN в big5
IBM-eucTW_big-5 из IBM_eucTW в big-5_938
IBM-937_big-5 из IBM-937 в big-5
CNS11643.1992-3_IBM-eucTW из CNS11643.1992-3 в IBM_eucTW
CNS11643.1992-3-GL_IBM-eucTW из CNS11643.1992-3-GL в IBM_eucTW
CNS11643.1992-3-GR_IBM-eucTW из CNS11643.1992-3-GR в IBM_eucTW
CNS11643.1992-4_IBM-eucTW из CNS11643.1992-4 в IBM_eucTW
CNS11643.1992-4-GL_IBM-eucTW из CNS11643.1992-4-GL в IBM_eucTW
CNS11643.1992-4-GR_IBM-eucTW из CNS11643.1992-4-GR в IBM_eucTW
IBM-eucTW_CNS11643.1992-3 из IBM_eucTW в CNS11643.1992-3
IBM-eucTW_CNS11643.1992-3-GL из IBM_eucTW в CNS11643.1992-3-GL
IBM-eucTW_CNS11643.1992-3-GR из IBM_eucTW в CNS11643.1992-3-GR
IBM-eucTW_CNS11643.1992-4 из IBM_eucTW в CNS11643.1992-4
IBM-eucTW_CNS11643.1992-4-GL из IBM_eucTW в CNS11643.1992-4-GL
IBM-eucTW_CNS11643.1992-4-GR из IBM_eucTW в CNS11643.1992-4-GR
IBM-eucCN_GB2312.1980-1 из IBM-eucCN в GB2312.1980-1
IBM-eucCN_GB2312.1980-1-GL из IBM-eucCN в GB2312.1980-1-GL
IBM-eucCN_GB2312.1980-1-GR из IBM-eucCN в GB2312.1980-1-GR
IBM-937_csic из IBM-937 в csic
csic_IBM-937 из csic в IBM-937
IBM-938_csic из IBM-938 в csic
csic_IBM-938 из csic в IBM-938
IBM-eucTW_ccdc из IBM-eucTW в ccdc
ccdc_IBM-eucTW из ccdc в IBM-eucTW
IBM-eucTW_cns из IBM-eucTW в cns
cns_IBM-eucTW из cnd в IBM-eucTW
IBM-eucTW_csic из IBM-eucTW в csic
csic_IBM-eucTW из csic в IBM-eucTW
IBM-eucTW_sops из IBM-ecuTW в sops
sops_IBM-eucTW из sops в IBM-eucTW
IBM-eucTW_tca из IBM-eucTW в tca
tca_IBM-eucTW из tca в IBM-eucTW
big5_cns из big5 в cns
cns_big5 из cns в big5
big5_csic из big5 в csic
csic_big5 из csic в big5
big5_ttc из big5 в ttc
ttc_big5 из ttc в big5
big5_ttcmin из big5 в ttcmin
ttcmin_big5 из ttcmin в big5
big5_unicode из big5 в unicode
unicode_big5 из unicode в big5
big5_wang из big5 в wang
wang_big5 из wang в big5
ccdc_csic из ccdc в csic
csic_ccdc из csic в ccdc
csic_sops из csic в sops
sops_csic из sops в csic
CNS11643.1986-1_big5 из CNS11643.1986-1 в big5
big5_CNS11643.1986-1 из big5 в CNS11643.1986-1
CNS11643.1986-1-GR_big5 из CNS11643.1986-1-GR в big5
big5_CNS11643.1986-1-GR из big5 в CNS11643.1986-1-GR
CNS11643.1986-2_big5 из CNS11643.1986-2 в big5
big5_CNS11643.1986-2 из big5 в CNS11643.1986-2
CNS11643.1986-2-GR_big5 из CNS11643.1986-2-GR в big5
big5_CNS11643.1986-2-GR из big5 в CNS11643.1986-2-GR
CNS11643.CT-GR_big5 из CNS11643.CT-GR в big5
big5_CNS11643.CT-GR из big5 в CNS11643.CT-GR
IBM-sbdTW-GR_big5 из IBM-sbdTW-GR в big5
big5_IBM-sbdTW-GR из big5 в IBM-sbdTW-GR
IBM-sbdTW.CT-GR_big5 из IBM-sbdTW.CT-GR в big5
big5_IBM-sbdTW.CT-GR из big5 в IBM-sbdTW.CT-GR
IBM-sbdTW_big5 из IBM-sbdTW в big5
big5_IBM-sbdTW из big5 в IBM-sbdTW
IBM-udcTW-GR_big5 из IBM-udcTW-GR в big5
big5_IBM-udcTW-GR из big5 в IBM-udcTW-GR
IBM-udcTW.CT-GR_big5 из IBM-udcTW.CT-GR в big5
big5_IBM-udcTW.CT-GR из big5 в IBM-udcTW.CT-GR
ISO8859-1_big5 из ISO8859 в big5
big5_ISO8859-1 из big5 в ISO8859
IBM-sbdTW_big5 из IBM-sbdTW в big5
big5_IBM-sbdTW из big5 в IBM-sbdTW
big5_ASCII-GR из big5 в ASCII-GR
ASCII-GR_big5 из ASCII-GR в big5
GBK_big5 из GBK в big5
big5_GBK из big5 в GBK
GBK_IBM-eucTW из GBK в IBM-eucTW
IBM-eucTW_GBK из IBM-eucTW в GBK
CNS11643.1986-1_GBK из CNS11643.1986-1 в GBK
GBK_CNS11643.1986-1 из GBK в CNS11643.1986-1
CNS11643.1986-2_GBK из CNS11643.1986-2 в GBK
GBK_CNS11643.1986-2 из GBK в CNS11643.1986-2
CNS11643.1986-1-GR_GBK из CNS11643.1986-1-GR в GBK
GBK_CNS11643.1986-1-GR из GBK в CNS11643.1986-1-GR
CNS11643.1986-2-GR_GBK из CNS11643.1986-2-GR в GBK
GBK_CNS11643.1986-2-GR из GBK в CNS11643.1986-2-GR
CNS11643.1986-1-GL_GBK из CNS11643.1986-1-GL в GBK
GBK_CNS11643.1986-1-G L из GBK в CNS11643.1986-1-GL
CNS11643.1986-2-GL_GBK из CNS11643.1986-2-GL в GBK
GBK_CNS11643.1986-2-GL из GBK в CNS11643.1986-2-GL
CNS11643.CT-GR_GBK из CNS11643.CT-GR в GBK
GBK_CNS11643.CT-GR из GBK в CNS11643.CT-GR
GB2312.1980.CT-GR_GBK из GB2312.1980.CT-GR в GBK
GBK_GB2312.1980.CT-GR из GBK в GB2312.1980.CT-GR
GB2312.1980-0_GBK из GBK2312.1980-0 в GBK
GBK_GB2312.1980-0 из GBK в GBK2312.1980-0
GB2312.1980-0-GR_GBK из GB2312.1980-0-GR в GBK
GBK_GB2312.1980-0-GR из GBK в GB2312.1980-0-GR
GB2312.1980-0-GL_GBK из GB2312.1980-0-GL в GBK
GBK_GB2312.1980-0-GL из GBK в GB2312.1980-0-GL
ASCII-GR_GBK из ASCII-GR в GBK
GBK_ASCII-GR из GBK в ASCII-GR
ISO8859-1_GBK из ISO8859-1 в GBK
GBK_ISO8859-1 из GBK в ISO8859-1
IBM-eucCN_GBK из IBM-eucCN в GBK
GBK_IBM-eucCN из GBK в IBM-eucCN

Этот перекодировщик позволяет преобразовывать данные между внутренним кодом и стандартными форматами для сетевого обмена 7-разрядными данными (fold7). Называние fold7 обозначает, что эта кодировка позволяет передавать данные по 7-разрядным почтовым протоколам. Это кодировки на основе ISO2022. Дополнительные сведения о кодировках fold7 вы найдете в разделе Библиотека libiconv.

Перекодировщики fold7 преобразуют символы из кодового набора в каноническую 7-разрядную кодировку, в которой идентифицируется каждый отдельный символ. Преобразование такого типа оказывается целесообразным в сетях, где кодовые наборы клиентов различны, но наборы символов — одинаковые. Например:

IBM-850 ISO8859-1 Стандартные латинские символы
IBM-932 IBM-eucJP Стандартные японские символы

Следующие управляющие последовательности обозначают стандартные кодовые наборы:

Управляющая последовательность Стандартный кодовый набор
01/11 02/04 04/00 GL JIS X0208.1978-0.
01/11 02/04 02/08 04/01 GL левая часть GB2312.1980-0.
01/11 02/08 04/02 GL 7-разрядные символы ASCII или левая часть ISO8859-1.
01/11 02/14 04/01 GL правая часть ISO8859-1.
01/11 02/14 04/02 GL правая часть ISO8859-2.
01/11 02/14 04/03 GL правая часть ISO8859-3.
01/11 02/14 04/04 GL правая часть ISO8859-4.
01/11 02/14 04/06 GL правая часть ISO8859-7.
01/11 02/14 04/07 GL правая часть ISO8859-6.
01/11 02/14 04/08 GL правая часть ISO8859-8.
01/11 02/14 04/12 GL правая часть ISO8859-5.
01/11 02/14 04/13 GL правая часть ISO8859-9.
01/11 02/08 04/09 GL правая часть JIS X0201.1976-0.
01/11 02/08 04/10 GL левая часть JIS X0201.1976.
01/11 02/04 04/02 GL JIS X0208.1983-0.
01/11 02/04 02/08 04/02 GL JIS X0208.1983-0.
01/11 02/04 02/08 04/00 GL JISX0208.1978-0.
01/11 02/05 02/15 03/01 M L 06/09 06/02 06/13 02/13 03/08 03/05 03/00 00/02 GL правая часть набора уникальных символов IBM-850. К стандартным символам ISO8859-1 данная управляющая последовательность не относится.
01/11 02/05 02/15 03/02 M L 06/09 06/02 06/13 02/13 07/05 06/04 06/03 04/10 05/00 00/02 GL японские пользовательские символы (IBM-udcJP).
01/11 02/04 02/08 04/03 GL KSC5601-1987.
01/11 02/04 02/09 03/00 GL CNS11643-1986-1.
01/11 02/04 02/10 03/01 GL CNS11643-1986-2.
01/11 02/05 02/15 03/00 M L 05/05 05/04 04/06 02/13 03/07 00/02 UCS-2 в кодировке base64; предназначена только для символов, которые не кодирует ни одна из приведенных выше 7-разрядных управляющих последовательностей.

При преобразовании данных из кодового набора в fold7 управляющую последовательность, обозначающую данных кодовый набор, выбирают по порядку, в соответствии со списком. Например, символы JISX0208.1983-0 обозначает управляющая последовательность 01/11 01/04 04/02 .

В следующем списке приведены описания перекодировщиков fold7, расположенных в каталоге /usr/lib/nls/loc/iconv :

Перекодировщик Описание
fold7_IBM-850 Из формата сетевого обмена в IBM-850
fold7_IBM-921 Из формата сетевого обмена в IBM-921
fold7_IBM-922 Из формата сетевого обмена в IBM-922
fold7_IBM-932 Из формата сетевого обмена в IBM-932
fold7_IBM-943 Из формата сетевого обмена в IBM-943
fold7_IBM_1124 Из формата сетевого обмена в IBM-1124
fold7_IBM_1129 Из формата сетевого обмена в IBM-1129
fold7_IBM_eucCN Из формата сетевого обмена в IBM-eucCN
fold7_IBM-eucJP Из формата сетевого обмена в IBM-eucJP
fold7_IBM-eucKR Из формата сетевого обмена в IBM-eucKR
fold7_IBM-eucTW Из формата сетевого обмена в IBM-eucTW
fold7_ISO8859-1 Из формата сетевого обмена в ISO8859-1
fold7_ISO8859-2 Из формата сетевого обмена в ISO8859-2
fold7_ISO8859-3 Из формата сетевого обмена в ISO8859-3
fold7_ISO8859-4 Из формата сетевого обмена в ISO8859-4
fold7_ISO8859-5 Из формата сетевого обмена в ISO8859-5
fold7_ISO8859-6 Из формата сетевого обмена в ISO8859-6
fold7_ISO8859-7 Из формата сетевого обмена в ISO8859-7
fold7_ISO8859-8 Из формата сетевого обмена в ISO8859-8
fold7_ISO8859-9 Из формата сетевого обмена в ISO8859-9
fold7_TIS-620 Из формата сетевого обмена в TIS-620
fold7_UTF-8 Из формата сетевого обмена в UTF-8
fold7_big5 Из формата сетевого обмена в big5
fold7_GBK Из формата сетевого обмена в GBK
IBM-921_fold7 из IBM-921 в формат сетевого обмена
IBM-922_fold7 из IBM-922 в формат сетевого обмена
IBM-850_fold7 из IBM-850 в формат сетевого обмена
IBM-932_fold7 из IBM-932 в формат сетевого обмена
IBM-943_fold7 из IBM-943 в формат сетевого обмена
IBM-1124_fold7 из IBM-1124 в формат сетевого обмена
IBM-1129_fold7 из IBM-1129 в формат сетевого обмена
IBM-eucCN_fold7 из IBM-eucCN в формат сетевого обмена
IBM-eucJP_fold7 из IBM-eucJP в формат сетевого обмена
IBM-eucKR_fold7 из IBM-eucKR в формат сетевого обмена
IBM-eucTW_fold7 из IBM-eucTW в формат сетевого обмена
ISO8859-1_fold7 из ISO8859-1 в формат сетевого обмена
ISO8859-2_fold7 из ISO8859-2 в формат сетевого обмена
ISO8859-3_fold7 из ISO8859-3 в формат сетевого обмена
ISO8859-4_fold7 из ISO8859-4 в формат сетевого обмена
ISO8859-5_fold7 из ISO8859-5 в формат сетевого обмена
ISO8859-6_fold7 из ISO8859-6 в формат сетевого обмена
ISO8859-7_fold7 из ISO8859-7 в формат сетевого обмена
ISO8859-8_fold7 из ISO8859-8 в формат сетевого обмена
ISO8859-9_fold7 из ISO8859-9 в формат сетевого обмена
TIS-620_fold7 из TIS-620 в формат сетевого обмена
UTF-8_fold7 из UTF-8 в формат сетевого обмена
big5_fold7 из big5 в формат сетевого обмена
GBK_fold7 из GBK в формат сетевого обмена

Этот перекодировщик позволяет преобразовывать данные между внутренним кодом и стандартными форматами для сетевого обмена 8-разрядными данными (fold8). Называние fold8 обозначает, что эта кодировка позволяет передавать данные по 8-разрядным почтовым протоколам. Это кодировки на основе ISO2022. Дополнительные сведения о кодировках fold8 вы найдете в разделе Библиотека libiconv.

Перекодировщики fold8 преобразуют символы из определенного кодового набора в каноническую 8-разрядную кодировку, в которой идентифицируется каждый отдельный символ. Преобразование такого типа оказывается целесообразным в сетях, где кодовые наборы клиентов различны, но наборы символов — одинаковые. Например:

IBM-850 ISO8859-1 Стандартные латинские символы
IBM-932 IBM-eucJP Стандартные японские символы

Следующие управляющие последовательности обозначают стандартные кодовые наборы.

Управляющая последовательность Стандартный кодовый набор
01/11 02/04 02/09 04/01 GR правая часть GB2312.1980-0.
01/11 02/13 04/01 GR правая часть ISO8859-1.
01/11 02/13 04/02 GR правая часть ISO8859-2.
01/11 02/13 04/03 GR правая часть ISO8859-3.
01/11 02/13 04/04 GR правая часть ISO8859-4.
01/11 02/13 04/06 GR правая часть ISO8859-7.
01/11 02/13 04/07 GR правая часть ISO8859-6.
01/11 02/13 04/08 GR правая часть ISO8859-8.
01/11 02/13 04/13 GR правая часть ISO8859-5.
01/11 02/13 04/13 GR правая часть ISO8859-9.
01/11 02/09 04/09 GR правая часть JIS X0201.1976-1.
01/11 02/04 02/09 04/02 GR JIS X0208.1983-1.
01/11 02/04 02/09 04/00 GR JISX0208.1978-1.
01/11 02/09 04/02 GR 7-разрядные символы ASCII или левая часть ISO8859-1.
01/11 02/05 02/15 03/01 M L 04/09 04/02 04/13 02/13 03/08 03/05 03/00 00/02 GR правая часть набора уникальных символов IBM-850. К стандартным символам ISO8859-1 данная управляющая последовательность относится не должна.
01/11 02/05 02/15 03/02 M L 04/09 04/02 04/13 02/13 07/05 06/04 06/03 04/10 05/00 00/02 GR правая часть японских пользовательских символов.
01/11 02/08 04/02 GL 7-разрядные символы ASCII или левая часть ISO8859-1.
01/11 02/14 04/01 GL правая часть ISO8859-1.
01/11 02/14 04/02 GL правая часть ISO8859-2.
01/11 02/14 04/03 GL правая часть ISO8859-3.
01/11 02/14 04/04 GL правая часть ISO8859-4.
01/11 02/14 04/06 GL правая часть ISO8859-7.
01/11 02/14 04/07 GL правая часть ISO8859-6.
01/11 02/14 04/08 GL правая часть ISO8859-8.
01/11 02/14 04/12 GL правая часть ISO8859-5.
01/11 02/14 04/13 GL правая часть ISO8859-9.
01/11 02/08 04/09 GL правая часть JIS X0201.1976-0.
01/11 02/08 04/10 GL левая часть JIS X0201.1976.
01/11 02/04 02/08 04/02 GL JIS X0208.1983-0.
01/11 02/04 04/02 GL JIS X0208.1983-0.
01/11 02/04 04/00 GL JIS X0208.1978-0.
01/11 02/05 02/15 03/01 M L 06/09 06/02 06/13 02/13 03/08 03/05 03/00 00/02 GL правая часть набора уникальных символов IBM-850. К стандартным символам ISO8859-1 данная управляющая последовательность не относится.
01/11 02/05 02/15 03/02 M L 06/09 06/02 06/13 02/13 07/05 06/04 06/03 04/10 05/00 00/02 GL японские пользовательские символы (IBM-udcJP).
01/11 02/04 02/09 04/03 GR KSC5601-1987.
01/11 02/04 02/09 03/00 GR CNS11643-1986-1.
01/11 02/04 02/10 03/01 GR CNS11643-1986-2.
01/11 02/05 02/15 03/02 M L 04/09 04/02 04/13 02/13 07/05 06/04 06/03 05/05 05/08 00/02 GR правая часть пользовательских символов традиционного китайского языка.
01/11 02/05 02/15 03/02 M L 04/09 04/02 04/13 02/13 07/03 06/02 06/04 05/05 05/08 00/02 GR правая часть набора уникальных символов IBM-850.
01/11 02/04 02/08 04/03 GL KSC5601-1987.
01/11 02/05 02/15 03/02 M L 06/09 06/02 06/13 02/13 07/05 06/04 06/03 05/05 05/08 00/02 GL пользовательские символы традиционного китайского языка (IBM-udcTW).
01/11 02/05 02/15 03/02 M L 06/09 06/02 06/13 02/13 07/03 06/02 06/04 05/05 05/08 00/02 GL пользовательские уникальные символы традиционного китайского языка IBM-850 (IBM-shdTW).
01/11 02/05 02/15 03/00 M L 05/05 05/04 04/06 02/13 03/08 00/02 UCS-2 в кодировке UTF-8; предназначена только для символов, которые не кодирует ни одна из приведенных выше управляющих последовательностей.

При преобразовании данных из кодового набора в fold8 управляющую последовательность, обозначающую данных кодовый набор, выбирают по порядку, в соответствии со списком. Например, символы JISX0208.1983-0 обозначает управляющая последовательность 01/11 02/04 02/08 04/02 .

Этот список содержит описания перекодировщиков fold8 из каталога /usr/lib/nls/loc/iconv :

Перекодировщик Описание
fold8_IBM-850 Из формата сетевого обмена в IBM-850
fold8_IBM-921 Из формата сетевого обмена в IBM-921
fold8_IBM-922 Из формата сетевого обмена в IBM-922
fold8_IBM-932 Из формата сетевого обмена в IBM-932
fold8_IBM-943 Из формата сетевого обмена в IBM-943
fold8_IBM-1124 Из формата сетевого обмена в IBM-1124
fold8_IBM-1129 Из формата сетевого обмена в IBM-1129
fold8_IBM-eucCN Из формата сетевого обмена в IBM-eucCN
fold8_IBM-eucJP Из формата сетевого обмена в IBM-eucJP
fold8_IBM-eucKR Из формата сетевого обмена в IBM-eucKR
fold8_IBM-eucTW Из формата сетевого обмена в IBM-eucTW
fold8_IBM-eucCN Из формата сетевого обмена в IBM-eucCN
fold8_ISO8859-1 Из формата сетевого обмена в ISO8859-1
fold8_ISO8859-2 Из формата сетевого обмена в ISO8859-2
fold8_ISO8859-3 Из формата сетевого обмена в ISO8859-3
fold8_ISO8859-4 Из формата сетевого обмена в ISO8859-4
fold8_ISO8859-5 Из формата сетевого обмена в ISO8859-5
fold8_ISO8859-6 Из формата сетевого обмена в ISO8859-6
fold8_ISO8859-7 Из формата сетевого обмена в ISO8859-7
fold8_ISO8859-8 Из формата сетевого обмена в ISO8859-8
fold8_ISO8859-9 Из формата сетевого обмена в ISO8859-9
fold8_TIS-620 Из формата сетевого обмена в TIS-620
fold8_UTF-8 Из формата сетевого обмена в UTF-8
fold8_big5 Из формата сетевого обмена в big5
fold8_GBK Из формата сетевого обмена в GBK
IBM-921_fold8 из IBM-921 в формат сетевого обмена
IBM-922_fold8 из IBM-922 в формат сетевого обмена
IBM-850_fold8 из IBM-850 в формат сетевого обмена
IBM-932_fold8 из IBM-932 в формат сетевого обмена
IBM-943_fold8 из IBM-943 в формат сетевого обмена
IBM-1124_fold8 из IBM-1124 в формат сетевого обмена
IBM-1129_fold8 из IBM-1129 в формат сетевого обмена
IBM-eucCN_fold8 из IBM-eucCN в формат сетевого обмена
IBM-eucJP_fold8 из IBM-eucJP в формат сетевого обмена
IBM-eucKR_fold8 из IBM-eucKR в формат сетевого обмена
IBM-eucTW_fold8 из IBM-eucTW в формат сетевого обмена
IBM-eucCN_fold8 из IBM-eucCN в формат сетевого обмена
ISO8859-1_fold8 из ISO8859-1 в формат сетевого обмена
ISO8859-2_fold8 из ISO8859-2 в формат сетевого обмена
ISO8859-3_fold8 из ISO8859-3 в формат сетевого обмена
ISO8859-4_fold8 из ISO8859-4 в формат сетевого обмена
ISO8859-5_fold8 из ISO8859-5 в формат сетевого обмена
ISO8859-6_fold8 из ISO8859-6 в формат сетевого обмена
ISO8859-7_fold8 из ISO8859-7 в формат сетевого обмена
ISO8859-8_fold8 из ISO8859-8 в формат сетевого обмена
ISO8859-9_fold8 из ISO8859-9 в формат сетевого обмена
TIS-620_fold8 из TIS-620 в формат сетевого обмена
UTF-8_fold8 из UTF-8 в формат сетевого обмена
big5_fold8 из big5 в формат сетевого обмена
GBK_fold8 из GBK в формат сетевого обмена

Такие перекодировщики выполняют преобразование между сложным текстом и внутренними кодовыми наборами.

Сложный текст представляет собой кодировку для сетевого обмена, которая была определена X Consortium. Применяется для передачи текста между клиентами X. Сложный текст основан на стандарте ISO2022 и может кодировать большинство символов с помощью стандартных управляющих последовательностей. Кроме того, в нем предусмотрены расширения для кодирования частных кодовых наборов. Все поддерживаемые кодовые наборы предоставляют возможность преобразования данных в/из сложного текста. Обозначение сложного текста — ct.

Ниже по порядку приведен список управляющих последовательностей, обозначающих стандартные кодовые наборы.

01/11 02/05 02/15 03/01 M L 04/09 04/02 04/13 02/13 03/08 03/05 03/00 00/02
GR правая часть набора уникальных символов IBM-850. К стандартным символам ISO8859-1 данная управляющая последовательность относится не должна.
01/11 02/05 02/15 03/02 M L 04/09 04/02 04/13 02/13 07/05 06/04 06/03 04/10 05/00 00/02
GR правая часть японских пользовательских символов.
01/11 02/05 02/15 03/01 M L 06/09 06/02 06/13 02/13 03/08 03/05 03/00 00/02
GL правая часть набора уникальных символов IBM-850. К стандартным символам ISO8859-1 данная управляющая последовательность не относится.
01/11 02/05 02/15 03/02 M L 06/09 06/02 06/13 02/13 07/05 06/04 06/03 04/10 05/00 00/02
GL японские пользовательские символы (IBM-udcJP).

Этот список содержит описания перекодировщиков сложного текста из каталога /usr/lib/nls/loc/iconv :

Перекодировщик Описание
ct_IBM-850 Из формата сетевого обмена в IBM-850
ct_IBM-921 Из формата сетевого обмена в IBM-921
ct_IBM-922 Из формата сетевого обмена в IBM-922
ct_IBM-932 Из формата сетевого обмена в IBM-932
ct_IBM-943 Из формата сетевого обмена в IBM-943
ct_IBM-1124 Из формата сетевого обмена в IBM-1124
ct_IBM-1129 Из формата сетевого обмена в IBM-1129
ct_IBM-eucCN Из формата сетевого обмена в IBM-eucCN
ct_IBM-eucJP Из формата сетевого обмена в IBM-eucJP
ct_IBM-eucKR Из формата сетевого обмена в IBM-eucKR
ct_IBM-eucTW Из формата сетевого обмена в IBM-eucTW
ct_ISO8859-1 Из формата сетевого обмена в ISO8859-1
ct_ISO8859-2 Из формата сетевого обмена в ISO8859-2
ct_ISO8859-3 Из формата сетевого обмена в ISO8859-3
ct_ISO8859-4 Из формата сетевого обмена в ISO8859-4
ct_ISO8859-5 Из формата сетевого обмена в ISO8859-5
ct_ISO8859-6 Из формата сетевого обмена в ISO8859-6
ct_ISO8859-7 Из формата сетевого обмена в ISO8859-7
ct_ISO8859-8 Из формата сетевого обмена в ISO8859-8
ct_ISO8859-9 Из формата сетевого обмена в ISO8859-9
ct_TIS-620 Из формата сетевого обмена в TIS-620
ct_big5 Из формата сетевого обмена в big5
ct_GBK Из формата сетевого обмена в GBK
IBM-850_ct из IBM-850 в формат сетевого обмена
IBM-921_ct из IBM-921 в формат сетевого обмена
IBM-922_ct из IBM-922 в формат сетевого обмена
IBM-932_ct из IBM-932 в формат сетевого обмена
IBM-943_ct из IBM-943 в формат сетевого обмена
IBM-1124_ct из IBM-1124 в формат сетевого обмена
IBM-1129_ct из IBM-1129 в формат сетевого обмена
IBM-eucCN_ct из IBM-eucCN в формат сетевого обмена
IBM-eucJP_ct из IBM-eucJP в формат сетевого обмена
IBM-eucKR_ct из IBM-eucKR в формат сетевого обмена
IBM-eucTW_ct из IBM-eucTW в формат сетевого обмена
ISO8859-1_ct из ISO8859-1 в формат сетевого обмена
ISO8859-2_ct из ISO8859-2 в формат сетевого обмена
ISO8859-3_ct из ISO8859-3 в формат сетевого обмена
ISO8859-4_ct из ISO8859-4 в формат сетевого обмена
ISO8859-5_ct из ISO8859-5 в формат сетевого обмена
ISO8859-6_ct из ISO8859-6 в формат сетевого обмена
ISO8859-7_ct из ISO8859-7 в формат сетевого обмена
ISO8859-8_ct из ISO8859-8 в формат сетевого обмена
ISO8859-9_ct из ISO8859-9 в формат сетевого обмена
TIS-620_ct из TIS-620 в формат сетевого обмена
big5_ct из big5 в формат сетевого обмена
GBK_ct из GBK в формат сетевого обмена

Этот перекодировщик выполняет точно такие же преобразования, как и команды uuencode и uudecode .

Перекодировка из uucode происходит порциями по 62 байт (включая замыкающий запись символ начала строки), которые преобразуются в 45 байт в буфере outbuf .

Этот список содержит описания перекодировщиков uucode из каталога /usr/lib/nls/loc/iconv :

Перекодировщик Описание
IBM-850_uucode из IBM-850 в uucode
IBM-921_uucode из IBM-921 в uucode
IBM-922_uucode из IBM-922 в uucode
IBM-932_uucode из IBM-932 в uucode
IBM-943_uucode из IBM-943 в uucode
IBM-1124_uucode из IBM-1124 в uucode
IBM-1129_uucode из IBM-1129 в uucode
IBM-eucJP_uucode из IBM-eucJP в uucode
IBM-eucKR_uucode из IBM-eucKR в uucode
IBM-eucTW_uucode из IBM-eucTW в uucode
IBM-eucCN_uucode из IBM-eucCN в uucode
ISO8859-1_uucode из ISO8859-1 в uucode
ISO8859-2_uucode из ISO8859-2 в uucode
ISO8859-3_uucode из ISO8859-3 в uucode
ISO8859-4_uucode из ISO8859-4 в uucode
ISO8859-5_uucode из ISO8859-5 в uucode
ISO8859-6_uucode из ISO8859-6 в uucode
ISO8859-7_uucode из ISO8859-7 в uucode
ISO8859-8_uucode из ISO8859-8 в uucode
ISO8859-9_uucode из ISO8859-9 в uucode
TIS-620_uucode из TIS-620 в uucode
big5_uucode из big5 в uucode
GBK_uucode из GBK в uucode
uucode_IBM-850 из uucode в IBM-850
uucode_IBM-921 из uucode в IBM-921
uucode_IBM-922 из uucode в IBM-922
uucode_IBM-932 из uucode в IBM-932
uucode_IBM-943 из uucode в IBM-943
uucode_IBM-1124 из uucode в IBM-1124
uucode_IBM-1129 из uucode в IBM-1129
uucode_IBM-eucCN из uucode в IBM-eucCN
uucode_IBM-eucJP из uucode в IBM-eucJP
uucode_IBM-eucKR из uucode в IBM-eucKR
uucode_IBM-eucTW из uucode в IBM-eucTW
uucode_ISO8859-1 из uucode в ISO8859-1
uucode_ISO8859-2 из uucode в ISO8859-2
uucode_ISO8859-3 из uucode в ISO8859-3
uucode_ISO8859-4 из uucode в ISO8859-4
uucode_ISO8859-5 из uucode в ISO8859-5
uucode_ISO8859-6 из uucode в ISO8859-6
uucode_ISO8859-7 из uucode в ISO8859-7
uucode_ISO8859-8 из uucode в ISO8859-8
uucode_ISO8859-9 из uucode в ISO8859-9
uucode_TIS-1124 из uucode в TIS-1129
uucode_big5 из uucode в big5
uucode_GBK из uucode в GBK

UCS-2 — это универсальная 16-разрядная кодировка. Ее описание приведено в разделе Кодовые наборы — Обзор. Эти перекодировщики выполняют преобразования в обе стороны между любым кодовым набором и UCS-2.

Перекодировщики UCS-2 находятся в каталогах /usr/lib/nls/loc/uconvTable и /usr/lib/nls/loc/uconv . Для создания новых перекодировщиков UCS-2 или настройки уже существующих предусмотрена команда uconvdef .


Перекодировщик /usr/lib/nls/loc/iconv/Universal_UCS_Conv преобразует любой кодовый набор X в любой кодовый набор Y путем установки необходимых связей:

Перекодировщик Описание
ISO8859-1 UCS-2 ISO Латиница-1
ISO8859-2 UCS-2 ISO Латиница-2
ISO8859-3 UCS-2 ISO Латиница-3
ISO8859-4 UCS-2 ISO Латиница-4
ISO8859-5 UCS-2 ISO Кириллица
ISO8859-6 UCS-2 Символы ISO для арабского языка
ISO8859-7 UCS-2 Символы ISO для греческого языка
ISO8859-8 UCS-2 Символы ISO для иврита
ISO8859-9 UCS-2 Символы ISO для турецкого языка
JISX0201.1976-0 UCS-2 Кодировка JISX0201-0 для японского языка
JISX0208.1983-0 UCS-2 Кодировка JISX0208-0 для японского языка
CNS11643.1986-1 UCS-2 Кодировка CNS11643-1 для китайского языка
CNS11643.1986-2 UCS-2 Кодировка CNS11643-2 для китайского языка
KSC5601.1987-0 UCS-2 Кодировка KSC5601-0 для корейского языка
IBM-eucCN UCS-2 Кодировка EUC для упрощенного китайского языка
IBM-udcCN UCS-2 Пользовательские символы для упрощенного китайского языка
IBM-sbdCN UCS-2 Специальные символы IBM для упрощенного китайского языка
GB2312.1980-0 UCS-2 Кодировка GB для упрощенного китайского языка
IBM-1381 UCS-2 Кодовая страница PC для упрощенного китайского языка
IBM-935 UCS-2 Кодировка EBCDIC для упрощенного китайского языка
IBM-936 UCS-2 Кодировка PC5550 для упрощенного китайского языка
IBM-eucJP UCS-2 Кодировка EUC для японского языка
IBM-eucKR UCS-2 Кодировка EUC для корейского языка
IBM-eucTW UCS-2 Кодировка EUC для традиционного китайского языка
IBM-udcJP UCS-2 Пользовательские символы для японского языка
IBM-udcTW UCS-2 Пользовательские символы для традиционного китайского языка
IBM-sbdTW UCS-2 Специальные символы IBM для традиционного китайского языка
UTF-8 UCS-2 UTF-8
IBM-437 UCS-2 Кодовая страница PC для США
IBM-850 UCS-2 Кодовая страница PC для Латиницы-1
IBM-852 UCS-2 Кодовая страница PC для Латиницы-2
IBM-857 UCS-2 Кодовая страница PC для турецкого языка
IBM-860 UCS-2 Кодовая страница PC для бразильского языка (Португалия)
IBM-861 UCS-2 Кодовая страница PC для исландского языка
IBM-863 UCS-2 Кодовая станица PC для французского языка (Канада)
IBM-865 UCS-2 Кодовая страница PC для языков скандинавских стран
IBM-869 UCS-2 Кодовая страница PC для греческого языка
IBM-921 UCS-2 Кодовая страница для языков балтийских стран
IBM-922 UCS-2 Кодовая страница для эстонского языка
IBM-932 UCS-2 Кодовая страница PC для японского языка
IBM-943 UCS-2 Кодовая страница PC для японского языка
IBM-934 UCS-2 Кодовая страница PC для корейского языка
IBM-936 UCS-2 Кодовая страница PC для китайского языка (КНР)
IBM-938 UCS-2 Кодовая страница PC для китайского языка (Тайвань)
IBM-942 UCS-2 Расширенная кодовая страница PC для японского языка
IBM-944 UCS-2 Кодовая страница PC для корейского языка
IBM-946 UCS-2 Кодовая страница SAA для китайского языка (КНР)
IBM-948 UCS-2 Кодовая страница PC для традиционного китайского языка
IBM-1124 UCS-2 Кодовая страница PC для украинского языка
IBM-1129 UCS-2 Кодовая страница PC для вьетнамского языка
TIS-620 UCS-2 Кодовая страница PC для тайского языка
IBM-037 UCS-2 Кодировка EBCDIC (США и Канада)
IBM-273 UCS-2 Кодировка EBCDIC (Германия и Австрия)
IBM-277 UCS-2 Кодировка EBCDIC (Дания и Норвегия)
IBM-278 UCS-2 Кодировка EBCDIC (Финляндия и Швеция)
IBM-280 UCS-2 Кодировка EBCDIC (Италия)
IBM-284 UCS-2 Кодировка EBCDIC (Испания и Латинская Америка)
IBM-285 UCS-2 Кодировка EBCDIC (Великобритания)
IBM-297 UCS-2 Кодировка EBCDIC (Франция)
IBM-500 UCS-2 Интернациональная кодировка EBCDIC
IBM-875 UCS-2 Кодировка EBCDIC (Греция)
IBM-930 UCS-2 Кодировка EBCDIC (японские символы Катакана-Канжи)
IBM-933 UCS-2 Кодировка EBCDIC (Корея)
IBM-937 UCS-2 Кодировка EBCDIC (традиционный китайский язык)
IBM-939 UCS-2 Кодировка EBCDIC (японские символы Латиница-Канжи)
IBM-1026 UCS-2 Кодировка EBCDIC (Турция)
IBM-1112 UCS-2 Кодировка EBCDIC (кодировка для языков балтийских стран)
IBM-1122 UCS-2 Кодировка EBCDIC (Эстония)
IBM-1124 UCS-2 Кодировка EBCDIC (Украина)
IBM-1129 UCS-2 Кодировка EBCDIC (Вьетнам)
GBK UCS-2 Упрощенный китайский язык
TIS-620 UCS-2 Кодировка EBCDIC (Таиланд)

UTF-8 — это универсальная многобайтовая кодировка. Ее описание приведено в разделе UCS-2 и UTF-8. Перечисленные перекодировщики выполняют преобразования в обе стороны между любым кодовым набором и UTF-8.

Как правило, перекодировка UTF-8 выполняется с помощью Universal_UCS_Conv (см. Список перекодировщиков UCS-2) и /usr/lib/nls/loc/uconv/UTF-8 .

Перекодировщик Описание
ISO8859-1 UTF-8 ISO Латиница-1
ISO8859-2 UTF-8 ISO Латиница-2
ISO8859-3 UTF-8 ISO Латиница-3
ISO8859-4 UTF-8 ISO Латиница-4
ISO8859-5 UTF-8 ISO Кириллица
ISO8859-6 UTF-8 Символы ISO для арабского языка
ISO8859-7 UTF-8 Символы ISO для греческого языка
ISO8859-8 UTF-8 Символы ISO для иврита
ISO8859-9 UTF-8 Символы ISO для турецкого языка
JISX0201.1976-0 UTF-8 Кодировка JISX0201-0 для японского языка
JISX0208.1983-0 UTF-8 Кодировка JISX0208-0 для японского языка
CNS11643.1986-1 UTF-8 Кодировка CNS11643-1 для китайского языка
CNS11643.1986-2 UTF-8 Кодировка CNS11643-2 для китайского языка
KSC5601.1987-0 UTF-8 Кодировка KSC5601-0 для корейского языка
IBM-eucCN UTF-8 Кодировка EUC для упрощенного китайского языка
IBM-eucJP UTF-8 Кодировка EUC для японского языка
IBM-eucKR UTF-8 Кодировка EUC для корейского языка
IBM-eucTW UTF-8 Кодировка EUC для традиционного китайского языка
IBM-udcJP UTF-8 Пользовательские символы для японского языка
IBM-udcTW UTF-8 Пользовательские символы для традиционного китайского языка
IBM-sbdTW UTF-8 Специальные символы IBM для традиционного китайского языка
UCS-2 UTF-8 UCS-2
IBM-437 UTF-8 Кодовая страница PC для США
IBM-850 UTF-8 Кодовая страница PC для Латиницы-1
IBM-852 UTF-8 Кодовая страница PC для Латиницы-2
IBM-857 UTF-8 Кодовая страница PC для турецкого языка
IBM-860 UTF-8 Кодовая страница PC для бразильского языка (Португалия)
IBM-861 UTF-8 Кодовая страница PC для исландского языка
IBM-863 UTF-8 Кодовая станица PC для французского языка (Канада)
IBM-865 UTF-8 Кодовая страница PC для языков скандинавских стран
IBM-869 UTF-8 Кодовая страница PC для греческого языка
IBM-921 UTF-8 Кодовая страница данных для языков балтийских стран
IBM-922 UTF-8 Кодовая страница для эстонского языка
IBM-932 UTF-8 Кодовая страница PC для японского языка
IBM-943 UTF-8 Кодовая страница PC для японского языка
IBM-934 UTF-8 Кодовая страница PC для корейского языка
IBM-935 UTF-8 Кодировка EBCDIC для упрощенного китайского языка
IBM-936 UTF-8 Кодовая страница PC для китайского языка (КНР)
IBM-938 UTF-8 Кодовая страница PC для китайского языка (Тайвань)
IBM-942 UTF-8 Расширенная кодовая страница PC для японского языка
IBM-944 UTF-8 Кодовая страница PC для корейского языка
IBM-946 UTF-8 Кодовая страница SAA для китайского языка (КНР)
IBM-948 UTF-8 Кодовая страница PC для традиционного китайского языка
IBM-1124 UTF-8 Кодовая страница PC для украинского языка
IBM-1129 UTF-8 Кодовая страница PC для вьетнамского языка
TIS-620 UTF-8 Кодовая страница PC для тайского языка
IBM-037 UTF-8 Кодировка EBCDIC (США и Канада)
IBM-273 UTF-8 Кодировка EBCDIC (Германия и Австрия)
IBM-277 UTF-8 Кодировка EBCDIC (Дания и Норвегия)
IBM-278 UTF-8 Кодировка EBCDIC (Финляндия и Швеция)
IBM-280 UTF-8 Кодировка EBCDIC (Италия)
IBM-284 UTF-8 Кодировка EBCDIC (Испания и Латинская Америка)
IBM-285 UTF-8 Кодировка EBCDIC (Великобритания)
IBM-297 UTF-8 Кодировка EBCDIC (Франция)
IBM-500 UTF-8 Интернациональная кодировка EBCDIC
IBM-875 UTF-8 Кодировка EBCDIC (Греция)
IBM-930 UTF-8 Кодировка EBCDIC (японские символы Катакана-Канжи)
IBM-933 UTF-8 Кодировка EBCDIC (Корея)
IBM-937 UTF-8 Кодировка EBCDIC (традиционный китайский язык)
IBM-939 UTF-8 Кодировка EBCDIC (японские символы Катакана-Канжи)
IBM-1026 UTF-8 Кодировка EBCDIC (Турция)
IBM-1112 UTF-8 Кодировка EBCDIC (многоязыковая кодировка для балтийских стран)
IBM-1122 UTF-8 Кодировка EBCDIC (Эстония)
IBM-1124 UTF-8 Кодировка EBCDIC (Украина)
IBM-1129 UTF-8 Кодировка EBCDIC (Вьетнам)
IBM-1381 UTF-8 Кодовая страница PC для упрощенного китайского языка
GBK UTF-8 Упрощенный китайский язык
TIS-620 UTF-8 Кодировка EBCDIC (Таиланд)

Прочие перекодировщики работают на более низком уровне и используются обычными перекодировщиками и перекодировщиками сетевого обмена. К ним иногда обращаются некоторые перекодировщики для сетевого обмена. Использовать эти перекодировщики не рекомендуется, так как они предназначены для поддержки других перекодировщиков.

Приведенный ниже список содержит описания прочих перекодировщиков из каталогов /usr/lib/nls/loc/iconv и /usr/lib/nls/loc/iconvTable :

Перекодировщик Описание
IBM-932_JISX0201.1976-0 из IBM-932 в JISX0201.1976-0
IBM-932_JISX0208.1983-0 из IBM-932 в JISX0208.1983-0
IBM-932_IBM-udcJP из IBM-932 в IBM-udcJP (пользовательские символы японского языка)
IBM-943_JISX0201.1976-0 из IBM-943 в JISX0201.1976-0
IBM-943_JISX0208.1983-0 из IBM-943 в JISX0208.1983-0
IBM-943_IBM-udcJP из IBM-943 в IBM-udcJP (пользовательские символы японского языка)
IBM-eucJP_JISX0201.1976-0 из IBM-eucJP в JISX0201.1976-0
IBM-eucJP_JISX0208.1983-0 из IBM-eucJP в JISX0208.1983-0
IBM-eucJP_IBM-udcJP из IBM-eucJP в IBM-udcJP (пользовательские символы японского языка)
IBM-eucKR_KSC5601.1987-0 из IBM_eucKR в KSC5601.1987-0
IBM-eucTW_CNS11643.1986-1 из IBM-eucTW в CNS11643.1986.1
IBM-eucTW_CNS11643.1986-2 из IBM-eucTW в CNS11643.1986-2
IBM-eucCN_GB2312.1980-0 из IBM-eucCN в GB2312.1980-0

Раздел Кодовые наборы — Обзор в руководстве AIX 5L Version 5.1 Kernel Extensions and Device Support Programming Concepts .

Как запустить iconv для перекодировки всех файлов в каталоге?

Столкнулся с ситуацией — нужно перекодировать несколько десятков тысяч текстовых файлов из кодировки cp1251 в utf8.

Для этого отлично подходит команда: iconv -f cp1251 -t utf8 * -o *
(единичный запуск такой: iconv -f cp1251 -t utf8 исходный.txt -o конечный.txt)

Но выдаёт ошибку: «Слишком длинный список аргументов»

Как мне её заставить работать с таким списком аргументов ?
В каталоге с пару сотнями файлов отрабатывает на ура, но когда их дохренища — не хочет.

Is there any function like iconv in Python?

I have some CSV files need to convert from shift-jis to utf-8.

Here is my code in PHP, which is successful transcode to readable text.

My problem is how to do same thing in Python.

3 Answers 3

I don’t know PHP, but does this work :

Also I assume the CSV content is from a file. There are a few options for opening a file in python.

would be the first and you would get data as it is

would be the default file opening

Also I tried on my computed with a shift-js text and the following code worked :

result was the following in UTF-8 (without any errors)


Ok I validate my solution :)

The first char is indeed the good character: «\xe3\x81\xa6» means «E3 81 A6» It gives the correct result.

You can try yourself at this URL

for when pythons built-in encodings are insufficient there’s an iconv at PyPi.

unfortunately the documentation is nonexistant.

There’s also iconv_codecs

It would be helpful if you could post the string that you are trying to convert since this error suggest some problem with the in-data, older versions of PHP failed silently on broken input strings which makes this hard to diagnose.

According to the documentation this might also be due to differences in shift-jis dialects, try using ‘shift_jisx0213’ or ‘shift_jis_2004’ instead.

If using another dialect does not work you might get away with asking python to fail silently by using .decode(‘shift-jis’,’ignore’) or .decode(‘shift-jis’,’replace’) .

Not the answer you’re looking for? Browse other questions tagged python encoding or ask your own question.

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2020 Stack Exchange Inc; user contributions licensed under cc by-sa 4.0 with attribution required. rev 2020.11.11.35402

Инструкция по настройке эмулятора Xbox — Cxbx

Итак, решил написать мини-инструкцию по запуску игр на эмуляторе Cxbx. Многие сталкиваются с проблемой того, что в эмуляторе нет возможности загружать образы и нужен неведомо какой xbe файл. Что все это значит и как все правильно сделать, мы рассмотрим в данной статье.

После того, как вы скачали образ, извлекаем его содержимое в удобную для вас папку. Образы Xbox игр умеет открывать и извлекать программа UltraISO, советую использовать ее. Теперь запускаем эмулятор и видим следующую картину:

Смело жмем Settings и выбираем пункт Config Controller.

Здесь нам нужно настроить управление под себя, для удобства, можно, конечно, оставить как есть, если вам так нравится. Нажимаем по очереди каждый пункт и жмем кнопку на клавиатуре, которая будет за него отвечать. Во время настройки ни в коем случае не дергайте мышью, иначе кнопка сбрасывается в исходное состояние. После изменения всех кнопок жмем Accept, вылетит окошко соглашаетесь вы с изменениями или нет, жмем «да» и идем дальше.

Теперь заходим в меню Setting, Config Video. Если у вас несколько настроенных дисплеев, то выбираем нужный в меню Display Adapter. Direct3D Device оставляем в положении Hardware, чтобы задействовалась видеокарта для эмуляции. Из галочек Other Options ничего не включаем, можно только поставить VSync для включения вертикальной синхронизации. Поможет избавиться от вертикальных полос на экране и даст более плавное распределение скорости. Жмем Accept для принятия настроек и закрытия меню.

Эмулятор функции iconv


We recommend upgrading to the latest Google Chrome or Firefox.

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

New pull request

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading .

Want to be notified of new releases in ironsteel/iconv-android ?

Launching GitHub Desktop .

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop .

If nothing happens, download GitHub Desktop and try again.

Launching Xcode .

If nothing happens, download Xcode and try again.

Launching Visual Studio .

Permalink

  • © 2020 GitHub , Inc.

  • Terms
  • Privacy
  • Security
  • Status
  • Help

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Не работает функция iconv()

Несколько дней назад я арендовал виртуальный сервер для своих сайтов, и столкнулся с проблемой. Функция для смены кодировки iconv() не работет на новеньком сервере. Но ничего страшного, данной функции есть замена. Вместо iconv() нужно использовать mb_convert_encoding() . Работает данная функция по такому же принципу.

Пример:

$ windows_1251 = mb_convert_encoding($text , «windows-1251» , «UTF-8» ) ;
//Из utf-8 в windows-1251

$ utf_8 = mb_convert_encoding($text , «UTF-8» , «windows-1251» ) ;
//И наоборот из windows-1251 в utf-8

iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv — Convert string to requested character encoding

Description

Performs a character set conversion on the string str from in_charset to out_charset .

Parameters

The input charset.

The output charset.

If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can’t be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character and an E_NOTICE is generated.

The string to be converted.

Return Values

Returns the converted string or FALSE on failure.

Examples

Example #1 iconv() example

= «This is the Euro symbol ‘€’.» ;

echo ‘Original : ‘ , $text , PHP_EOL ;
echo ‘TRANSLIT : ‘ , iconv ( «UTF-8» , «ISO-8859-1//TRANSLIT» , $text ), PHP_EOL ;
echo ‘IGNORE : ‘ , iconv ( «UTF-8» , «ISO-8859-1//IGNORE» , $text ), PHP_EOL ;
echo ‘Plain : ‘ , iconv ( «UTF-8» , «ISO-8859-1» , $text ), PHP_EOL ;

The above example will output something similar to:

Илон Маск рекомендует:  Можно ли изменить вид всплывающей подсказки
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Type Name Latest commit message Commit time
Failed to load latest commit information.
jni Initial import Sep 1, 2012
COPYING.LIB Initial import Sep 1, 2012
DESIGN Initial import Sep 1, 2012