Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

iconv(1)

Name

iconv - code set conversion utility

Synopsis

iconv [-cs] -f frommap -t tomap [file]...
iconv -f fromcode [-cs] [-t tocode] [file]...
iconv -t tocode [-cs] [-f fromcode] [file]...
iconv -l

Description

The iconv utility converts the characters or sequences of characters in file from one code set to another and writes the results to standard output. If no conversion exists for a particular character, an implementation-defined conversion is performed on this character.

Options

The following options are supported:

–c

Omits any characters that are invalid in the codeset of the input file from the output. When –c is not used, the results of encountering invalid characters in the input stream depend on the specified codesets for the conversion. Invalid characters can be either those that are not valid characters in the codeset of the input file or those that have no corresponding character in the codeset of the output file. The presence or absence of –c does not affect the exit status of iconv. When fromcode is specified for the fromcodeset of the –f option or tocode is specified for the tocodeset of the –t option, the specification of –c may be ignored.

–f fromcodeset

Identifies the code set of the input file. The following two forms of the fromcodeset option-argument are recognized:

fromcode

The fromcode option-argument must not contain a slash (/) character. It is interpreted as the name of one of the codeset descriptions.

frommap

The frommap option-argument must contain a slash character. It is interpreted as the pathname of a charmap file as defined in charmap(7) man page. If the pathname does not represent a valid, readable charmap file, the results are undefined.

If this option is omitted, the codeset of the current locale is used.

–l

Writes all supported fromcode and tocode values to standard output.

–s

Suppresses any messages written to standard error concerning invalid characters. When –s is not used, the results of encountering invalid characters in the input stream depend on the specified codesets for the conversion. Invalid characters can be either those that are not valid characters in the codeset of the input file or those that have no corresponding character in the codeset of the output file. The presence or absence of –s does not affect the exit status of iconv. When fromcode is specified for the fromcodeset of the –f option or tocode is specified for the tocodeset of the –t option, the specification of –s may be ignored.

–t tocodeset

Identifies the code set used for the output file. The following two forms of the tocodeset option-argument are recognized:

tocode

The tocode option-argument must not contain a slash (/) character. It is interpreted as the name of one of the codeset descriptions.

tomap

The tomap option-argument must contain a slash character. It is interpreted as the pathname of a charmap file as defined in charmap(7) man page. If the pathname does not represent a valid, readable charmap file, the results are undefined.

If this option is omitted, the codeset of the current locale is used.

If either –f or –t represents a charmap file but the other does not, or is omitted, or if both –f and –t are omitted, iconv fails as an error.

Operands

The following operands are supported:

file

A path name of an input file. If no file operands are specified, or if a file operand is '-', the standard input is used.

Examples

Example 1 Converting and storing files

The following example converts the contents of file mail1 from code set 8859 to 646fr and stores the results in file mail.local:

example% iconv -f 8859 -t 646fr mail1 > mail.local

Environment Variables

See the environ(7) man page for descriptions of the following environment variables that affect the execution of iconv: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

Exit Status

The following exit values are returned:

0

Successful completion

1

An error has occurred

Files

/usr/lib/iconv/*.bt

cconv code conversion binary table files for cconv(3C) and iconv(3C)

/usr/lib/iconv/*.so

iconv code conversion modules

/usr/lib/iconv/geniconvtbl/binarytables/*.bt

iconv code conversion binary tables

/usr/lib/iconv/alias

alias table file of codeset names

Attributes

See the attributes(7) man page for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os
Interface Stability
Committed
Standard
See the standards(7) man page.

See Also

geniconvtbl(1), cconv(3C), cconv_open(3C), iconv(3C), iconv_open(3C), alias(5), iconv_unicode(7), attributes(7), charmap(7), environ(7), standards(7)

Notes

Make sure that both charmap files use the same symbolic names for characters the two codesets have in common.

The output format of the –l option is unspecified. The –l option is not intended for shell script usage. The fromcode and tocode values are listed in two groups. One group shows values that can be used at fromcode, tocode, or both. The other group shows [fromcode, tocode] value pairs. Accepted aliases are also listed in parentheses following the values.

When fromcode or tocode is specified for the codeset conversion, iconv uses the iconv_open(3C) function. For the codeset conversions supported by iconv_open(3C), refer to the section 5 man pages shown at the iconv_open(3C) man page.