| .\" Copyright (c) Bruno Haible <bruno@clisp.org> |
| .\" |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" References consulted: |
| .\" OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html |
| .\" POSIX 2001 draft6 |
| .\" |
| .TH ICONV 1 "January 22, 2006" "GNU" "Linux Programmer's Manual" |
| .SH NAME |
| iconv \- character set conversion |
| .SH SYNOPSIS |
| .nf |
| iconv [\fIOPTION\fP...] [\fB-f\fP \fIencoding\fP] [\fB-t\fP \fIencoding\fP] [\fIinputfile\fP ...] |
| iconv \fB-l\fP |
| .fi |
| .SH DESCRIPTION |
| The \fBiconv\fP program converts text from one encoding to another encoding. |
| More precisely, it converts \fBfrom\fP the encoding given for the \fB-f\fP |
| option \fBto\fP the encoding given for the \fB-t\fP option. Either of these |
| encodings defaults to the encoding of the current locale. All the |
| \fIinputfile\fPs are read and converted in turn; if no \fIinputfile\fP is |
| given, the standard input is used. The converted text is printed to standard |
| output. |
| .PP |
| The encodings permitted are system dependent. For the libiconv implementation, |
| they are listed in the iconv_open(3) manual page. |
| .PP |
| Options controlling the input and output format: |
| .TP |
| \fB-f\fP \fIencoding\fP, \fB--from-code=\fP\fIencoding\fP |
| Specifies the encoding of the input. |
| .TP |
| \fB-t\fP \fIencoding\fP, \fB--to-code=\fP\fIencoding\fP |
| Specifies the encoding of the output. |
| .PP |
| Options controlling conversion problems: |
| .TP |
| \fB-c\fP |
| When this option is given, characters that cannot be converted are silently |
| discarded, instead of leading to a conversion error. |
| .TP |
| \fB--unicode-subst=\fP\fIformatstring\fP |
| When this option is given, Unicode characters that cannot be represented in |
| the target encoding are replaced with a placeholder string that is constructed |
| from the given \fIformatstring\fP, applied to the Unicode code point. The |
| \fIformatstring\fP must be a format string in the same format as for the |
| .I printf |
| command or the |
| .I printf() |
| function, taking either no argument or exactly one unsigned integer argument. |
| .TP |
| \fB--byte-subst=\fP\fIformatstring\fP |
| When this option is given, bytes in the input that are not valid in the source |
| encoding are replaced with a placeholder string that is constructed from the |
| given \fIformatstring\fP, applied to the byte's value. The \fIformatstring\fP |
| must be a format string in the same format as for the |
| .I printf |
| command or the |
| .I printf() |
| function, taking either no argument or exactly one unsigned integer argument. |
| .TP |
| \fB--widechar-subst=\fP\fIformatstring\fP |
| When this option is given, wide characters in the input that are not valid in |
| the source encoding are replaced with a placeholder string that is constructed |
| from the given \fIformatstring\fP, applied to the byte's value. The |
| \fIformatstring\fP must be a format string in the same format as for the |
| .I printf |
| command or the |
| .I printf() |
| function, taking either no argument or exactly one unsigned integer argument. |
| .PP |
| Options controlling error output: |
| .TP |
| \fB-s\fP, \fB--silent\fP |
| When this option is given, error messages about invalid or unconvertible |
| characters are omitted, but the actual converted text is unaffected. |
| .PP |
| The \fBiconv -l\fP or \fBiconv --list\fP command lists the names of the |
| supported encodings, in a system dependent format. For the libiconv |
| implementation, the names are printed in upper case, separated by whitespace, |
| and alias names of an encoding are listed on the same line as the encoding |
| itself. |
| .SH EXAMPLES |
| .TP |
| \fBiconv -f ISO-8859-1 -t UTF-8\fP |
| converts input from the old West-European encoding ISO-8859-1 to Unicode. |
| .PP |
| .nf |
| \fBiconv -f KOI8-R --byte-subst="<0x%x>"\fP |
| \fB --unicode-subst="<U+%04X>"\fP |
| .fi |
| .RS |
| converts input from the old Russian encoding KOI8-R to the locale encoding, |
| substituting an angle bracket notation with hexadecimal numbers for invalid |
| bytes and for valid but unconvertible characters. |
| .RE |
| .TP |
| \fBiconv --list\fP |
| lists the supported encodings. |
| .SH "SEE ALSO" |
| .BR iconv_open "(3), " locale (7) |