2014-06-11 08:09:40 +00:00
|
|
|
|
.\" Copyright (C) 2014 Marko Myllynen <myllynen@redhat.com>
|
|
|
|
|
.\"
|
|
|
|
|
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
|
|
|
|
|
.\" 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.
|
|
|
|
|
.\"
|
|
|
|
|
.\" The GNU General Public License's references to "object code"
|
|
|
|
|
.\" and "executables" are to be interpreted as the output of any
|
|
|
|
|
.\" document formatting or typesetting system, including
|
|
|
|
|
.\" intermediate and printed output.
|
|
|
|
|
.\"
|
|
|
|
|
.\" This manual is distributed in the hope that it will be useful,
|
|
|
|
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
.\" GNU General Public License for more details.
|
|
|
|
|
.\"
|
|
|
|
|
.\" You should have received a copy of the GNU General Public
|
|
|
|
|
.\" License along with this manual; if not, see
|
|
|
|
|
.\" <http://www.gnu.org/licenses/>.
|
|
|
|
|
.\" %%%LICENSE_END
|
|
|
|
|
.\"
|
iconv.1, locale.1, memusage.1, memusagestat.1, pldd.1, sprof.1, _syscall.2, add_key.2, adjtimex.2, bind.2, bpf.2, chown.2, clone.2, close.2, copy_file_range.2, eventfd.2, fanotify_init.2, fanotify_mark.2, fork.2, fsync.2, futex.2, getdents.2, getrlimit.2, getxattr.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, ioctl_fat.2, ioctl_getfsmap.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, kcmp.2, keyctl.2, listen.2, listxattr.2, mbind.2, membarrier.2, memfd_create.2, mkdir.2, move_pages.2, mremap.2, msync.2, nfsservctl.2, open.2, perf_event_open.2, pidfd_send_signal.2, pipe.2, pivot_root.2, pkey_alloc.2, process_vm_readv.2, ptrace.2, readlink.2, readv.2, recv.2, recvmmsg.2, rename.2, request_key.2, s390_runtime_instr.2, sched_setaffinity.2, seccomp.2, send.2, sendmmsg.2, sigaltstack.2, signalfd.2, socket.2, socketpair.2, splice.2, spu_create.2, spu_run.2, statfs.2, syscall.2, sysctl.2, sysfs.2, tee.2, timer_getoverrun.2, timer_settime.2, umount.2, userfaultfd.2, utimensat.2, wait4.2, INFINITY.3, __ppc_get_timebase.3, __setfpucw.3, abort.3, aio_cancel.3, aio_error.3, aio_read.3, aio_return.3, atexit.3, backtrace.3, basename.3, bsearch.3, bswap.3, cacos.3, cacosh.3, catan.3, catanh.3, cexp2.3, clock_getcpuclockid.3, clog2.3, cmsg.3, confstr.3, div.3, dl_iterate_phdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, duplocale.3, encrypt.3, end.3, endian.3, envz_add.3, err.3, expm1.3, fdim.3, flockfile.3, fmtmsg.3, frexp.3, ftw.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo_a.3, getauxval.3, getdate.3, getdtablesize.3, getgrent_r.3, getgrouplist.3, gethostbyname.3, getline.3, getnameinfo.3, getopt.3, getprotoent_r.3, getpwent_r.3, getpwnam.3, getservent_r.3, getsubopt.3, getutent.3, glob.3, gnu_get_libc_version.3, hsearch.3, if_nameindex.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, insque.3, killpg.3, makecontext.3, mallinfo.3, malloc.3, malloc_hook.3, malloc_info.3, mallopt.3, matherr.3, mbsnrtowcs.3, mbstowcs.3, mcheck.3, mempcpy.3, mq_getattr.3, mq_notify.3, mtrace.3, newlocale.3, nextafter.3, ntp_gettime.3, offsetof.3, open_memstream.3, pow.3, printf.3, pthread_attr_init.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setstack.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_create.3, pthread_detach.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_mutex_consistent.3, pthread_mutexattr_setrobust.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, pthread_spin_init.3, pthread_testcancel.3, pthread_tryjoin_np.3, ptsname.3, qsort.3, rand.3, random.3, remainder.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, sem_getvalue.3, sem_wait.3, setaliasent.3, setlogmask.3, sigwait.3, sincos.3, sockatmark.3, stdarg.3, stpcpy.3, strcat.3, strfmon.3, strptime.3, strtod.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, tsearch.3, uselocale.3, wcstok.3, wcstombs.3, wordexp.3, y0.3, loop.4, vcs.4, veth.4, charmap.5, core.5, filesystems.5, gai.conf.5, hosts.5, hosts.equiv.5, locale.5, nss.5, repertoiremap.5, securetty.5, shells.5, ttytype.5, ascii.7, complex.7, cpuset.7, credentials.7, fanotify.7, hier.7, inotify.7, ip.7, mount_namespaces.7, mq_overview.7, netlink.7, network_namespaces.7, pid_namespaces.7, pkeys.7, rtld-audit.7, rtnetlink.7, sem_overview.7, signal-safety.7, sock_diag.7, spufs.7, standards.7, symlink.7, tcp.7, time_namespaces.7, unix.7, user_namespaces.7, xattr.7, ldconfig.8: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-09 12:43:54 +00:00
|
|
|
|
.TH ICONV 1 2020-06-09 "GNU" "Linux User Manual"
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.SH NAME
|
|
|
|
|
iconv \- convert text from one character encoding to another
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B iconv
|
|
|
|
|
.RI [ options ]
|
2017-01-25 15:58:45 +00:00
|
|
|
|
.RI "[\-f " from-encoding "]"
|
|
|
|
|
.RI "[\-t " to-encoding "]"
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.RI [ inputfile ]...
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
The
|
|
|
|
|
.B iconv
|
|
|
|
|
program reads in text in one encoding and outputs the text in another
|
|
|
|
|
encoding.
|
|
|
|
|
If no input files are given, or if it is given as a dash (\-),
|
|
|
|
|
.B iconv
|
2014-06-11 10:05:09 +00:00
|
|
|
|
reads from standard input.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
If no output file is given,
|
|
|
|
|
.B iconv
|
2014-06-11 10:05:09 +00:00
|
|
|
|
writes to standard output.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.PP
|
|
|
|
|
If no
|
|
|
|
|
.I from-encoding
|
|
|
|
|
is given, the default is derived
|
|
|
|
|
from the current locale's character encoding.
|
|
|
|
|
If no
|
|
|
|
|
.I to-encoding
|
|
|
|
|
is given, the default is derived
|
|
|
|
|
from the current locale's character
|
|
|
|
|
encoding.
|
|
|
|
|
.SH OPTIONS
|
|
|
|
|
.TP
|
2017-01-25 15:58:46 +00:00
|
|
|
|
.BI \-f " from-encoding" "\fR, \fP\-\-from\-code=" from-encoding
|
2014-06-11 08:09:40 +00:00
|
|
|
|
Use
|
|
|
|
|
.I from-encoding
|
|
|
|
|
for input characters.
|
|
|
|
|
.TP
|
2017-01-25 15:58:46 +00:00
|
|
|
|
.BI \-t " to-encoding" "\fR, \fP\-\-to\-code=" to-encoding
|
2014-06-11 08:09:40 +00:00
|
|
|
|
Use
|
|
|
|
|
.I to-encoding
|
|
|
|
|
for output characters.
|
iconv.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, iconvconfig.8, ld.so.8, ldconfig.8, sln.8: Formatting fix: replace blank lines with .PP/.IP
Blank lines shouldn't generally appear in *roff source (other
than in code examples), since they create large vertical
spaces between text blocks.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-16 00:52:54 +00:00
|
|
|
|
.IP
|
2014-06-11 10:05:09 +00:00
|
|
|
|
If the string
|
getent.1, iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, pldd.1, sprof.1, time.1: tfix, use a one-font macro for a single argument
1) Use a single capital font macro for a genuine single argument.
The output is unchanged.
2) Remove quotation marks (") around a single argument.
The output is unchanged.
3) Change ".IR ab()" to ".IR ab ()"
A font is changed in the output.
mtk: I verified that the output is unchanged (other than fonts)
by comparing the output of:
for a in *.1; do man $a >> out.txt; done
before and after the patch.
Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-12-24 00:20:29 +00:00
|
|
|
|
.B //IGNORE
|
2014-06-11 10:05:09 +00:00
|
|
|
|
is appended to
|
|
|
|
|
.IR to-encoding ,
|
2014-06-11 08:09:40 +00:00
|
|
|
|
characters that cannot be converted are discarded and an error is
|
|
|
|
|
printed after conversion.
|
iconv.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, iconvconfig.8, ld.so.8, ldconfig.8, sln.8: Formatting fix: replace blank lines with .PP/.IP
Blank lines shouldn't generally appear in *roff source (other
than in code examples), since they create large vertical
spaces between text blocks.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-16 00:52:54 +00:00
|
|
|
|
.IP
|
2014-06-11 10:05:09 +00:00
|
|
|
|
If the string
|
getent.1, iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, pldd.1, sprof.1, time.1: tfix, use a one-font macro for a single argument
1) Use a single capital font macro for a genuine single argument.
The output is unchanged.
2) Remove quotation marks (") around a single argument.
The output is unchanged.
3) Change ".IR ab()" to ".IR ab ()"
A font is changed in the output.
mtk: I verified that the output is unchanged (other than fonts)
by comparing the output of:
for a in *.1; do man $a >> out.txt; done
before and after the patch.
Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-12-24 00:20:29 +00:00
|
|
|
|
.B //TRANSLIT
|
2014-06-11 10:05:09 +00:00
|
|
|
|
is appended to
|
|
|
|
|
.IR to-encoding ,
|
2014-06-11 08:09:40 +00:00
|
|
|
|
characters being converted are transliterated when needed and possible.
|
2014-06-11 10:05:09 +00:00
|
|
|
|
This means that when a character cannot be represented in the target
|
|
|
|
|
character set, it can be approximated through one or several similar
|
2014-06-11 08:09:40 +00:00
|
|
|
|
looking characters.
|
|
|
|
|
Characters that are outside of the target character set and cannot be
|
|
|
|
|
transliterated are replaced with a question mark (?) in the output.
|
|
|
|
|
.TP
|
2014-06-23 20:18:37 +00:00
|
|
|
|
.BR \-l ", " \-\-list
|
2014-06-11 08:09:40 +00:00
|
|
|
|
List all known character set encodings.
|
|
|
|
|
.TP
|
|
|
|
|
.B "\-c"
|
|
|
|
|
Silently discard characters that cannot be converted instead of
|
2014-06-11 10:05:09 +00:00
|
|
|
|
terminating when encountering such characters.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.TP
|
2017-01-25 15:58:46 +00:00
|
|
|
|
.BI \-o " outputfile" "\fR, \fP\-\-output=" outputfile
|
2014-06-11 08:09:40 +00:00
|
|
|
|
Use
|
|
|
|
|
.I outputfile
|
|
|
|
|
for output.
|
|
|
|
|
.TP
|
2014-06-23 20:18:37 +00:00
|
|
|
|
.BR \-s ", " \-\-silent
|
2014-06-11 10:05:09 +00:00
|
|
|
|
This option is ignored; it is provided only for compatibility.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.TP
|
|
|
|
|
.B "\-\-verbose"
|
|
|
|
|
Print progress information on standard error when processing
|
|
|
|
|
multiple files.
|
|
|
|
|
.TP
|
2014-06-23 20:18:37 +00:00
|
|
|
|
.BR \-? ", " \-\-help
|
2014-06-11 08:09:40 +00:00
|
|
|
|
Print a usage summary and exit.
|
|
|
|
|
.TP
|
|
|
|
|
.B "\-\-usage"
|
|
|
|
|
Print a short usage summary and exit.
|
|
|
|
|
.TP
|
2014-06-23 20:18:37 +00:00
|
|
|
|
.BR \-V ", " \-\-version
|
2014-06-11 08:09:40 +00:00
|
|
|
|
Print the version number, license, and disclaimer of warranty for
|
|
|
|
|
.BR iconv .
|
|
|
|
|
.SH EXIT STATUS
|
2017-12-04 19:49:42 +00:00
|
|
|
|
Zero on success, nonzero on errors.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.SH ENVIRONMENT
|
|
|
|
|
Internally, the
|
|
|
|
|
.B iconv
|
|
|
|
|
program uses the
|
|
|
|
|
.BR iconv (3)
|
|
|
|
|
function which in turn uses
|
|
|
|
|
.I gconv
|
2014-06-11 19:14:34 +00:00
|
|
|
|
modules (dynamically loaded shared libraries)
|
|
|
|
|
to convert to and from a character set.
|
|
|
|
|
Before calling
|
|
|
|
|
.BR iconv (3),
|
2014-06-14 06:03:45 +00:00
|
|
|
|
the
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.B iconv
|
2014-06-11 19:14:34 +00:00
|
|
|
|
program must first allocate a conversion descriptor using
|
|
|
|
|
.BR iconv_open (3).
|
|
|
|
|
The operation of the latter function is influenced by the setting of the
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.B GCONV_PATH
|
2014-06-11 19:14:34 +00:00
|
|
|
|
environment variable:
|
|
|
|
|
.IP * 3
|
|
|
|
|
If
|
|
|
|
|
.B GCONV_PATH
|
|
|
|
|
is not set,
|
|
|
|
|
.BR iconv_open (3)
|
2014-06-18 11:06:26 +00:00
|
|
|
|
loads the system gconv module configuration cache file created by
|
2014-06-11 19:14:34 +00:00
|
|
|
|
.BR iconvconfig (8)
|
|
|
|
|
and then, based on the configuration,
|
|
|
|
|
loads the gconv modules needed to perform the conversion.
|
2014-06-18 11:06:26 +00:00
|
|
|
|
If the system gconv module configuration cache file is not available
|
|
|
|
|
then the system gconv module configuration file is used.
|
2014-06-11 19:14:34 +00:00
|
|
|
|
.IP *
|
2014-06-11 08:09:40 +00:00
|
|
|
|
If
|
|
|
|
|
.B GCONV_PATH
|
2014-06-11 19:14:34 +00:00
|
|
|
|
is defined (as a colon-separated list of pathnames),
|
|
|
|
|
the system gconv module configuration cache is not used.
|
|
|
|
|
Instead,
|
|
|
|
|
.BR iconv_open (3)
|
2014-06-13 11:43:25 +00:00
|
|
|
|
first tries to load the configuration files by searching the directories in
|
getent.1, iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, pldd.1, sprof.1, time.1: tfix, use a one-font macro for a single argument
1) Use a single capital font macro for a genuine single argument.
The output is unchanged.
2) Remove quotation marks (") around a single argument.
The output is unchanged.
3) Change ".IR ab()" to ".IR ab ()"
A font is changed in the output.
mtk: I verified that the output is unchanged (other than fonts)
by comparing the output of:
for a in *.1; do man $a >> out.txt; done
before and after the patch.
Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-12-24 00:20:29 +00:00
|
|
|
|
.B GCONV_PATH
|
2014-06-13 11:43:25 +00:00
|
|
|
|
in order,
|
|
|
|
|
followed by the system default gconv module configuration file.
|
2014-06-11 19:14:34 +00:00
|
|
|
|
If a directory does not contain a gconv module configuration file,
|
|
|
|
|
any gconv modules that it may contain are ignored.
|
|
|
|
|
If a directory contains a gconv module configuration file
|
|
|
|
|
and it is determined that a module needed for this conversion is
|
|
|
|
|
available in the directory,
|
|
|
|
|
then the needed module is loaded from that directory,
|
|
|
|
|
the order being such that the first suitable module found in
|
|
|
|
|
.B GCONV_PATH
|
|
|
|
|
is used.
|
|
|
|
|
This allows users to use custom modules and even replace system-provided
|
|
|
|
|
modules by providing such modules in
|
|
|
|
|
.B GCONV_PATH
|
|
|
|
|
directories.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.SH FILES
|
|
|
|
|
.TP
|
|
|
|
|
.I /usr/lib/gconv
|
|
|
|
|
Usual default gconv module path.
|
|
|
|
|
.TP
|
2017-01-25 15:58:45 +00:00
|
|
|
|
.I /usr/lib/gconv/gconv\-modules
|
2014-06-18 11:06:26 +00:00
|
|
|
|
Usual system default gconv module configuration file.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.TP
|
2017-01-25 15:58:45 +00:00
|
|
|
|
.I /usr/lib/gconv/gconv\-modules.cache
|
2014-06-18 11:06:26 +00:00
|
|
|
|
Usual system gconv module configuration cache.
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.SH CONFORMING TO
|
|
|
|
|
POSIX.1-2001.
|
2020-05-21 08:00:37 +00:00
|
|
|
|
.SH EXAMPLES
|
2014-06-11 10:05:09 +00:00
|
|
|
|
Convert text from the ISO 8859-15 character encoding to UTF-8:
|
iconv.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, iconvconfig.8, ld.so.8, ldconfig.8, sln.8: Formatting fix: replace blank lines with .PP/.IP
Blank lines shouldn't generally appear in *roff source (other
than in code examples), since they create large vertical
spaces between text blocks.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-16 00:52:54 +00:00
|
|
|
|
.PP
|
2014-06-11 10:05:09 +00:00
|
|
|
|
.in +4n
|
2017-08-16 09:14:04 +00:00
|
|
|
|
.EX
|
2017-01-25 15:58:45 +00:00
|
|
|
|
$ \fBiconv \-f ISO\-8859\-15 \-t UTF\-8 < input.txt > output.txt\fP
|
2017-08-16 09:14:04 +00:00
|
|
|
|
.EE
|
2014-06-11 10:05:09 +00:00
|
|
|
|
.in
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.PP
|
|
|
|
|
The next example converts from UTF-8 to ASCII, transliterating when
|
|
|
|
|
possible:
|
iconv.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, iconvconfig.8, ld.so.8, ldconfig.8, sln.8: Formatting fix: replace blank lines with .PP/.IP
Blank lines shouldn't generally appear in *roff source (other
than in code examples), since they create large vertical
spaces between text blocks.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-16 00:52:54 +00:00
|
|
|
|
.PP
|
2014-06-11 10:05:09 +00:00
|
|
|
|
.in +4n
|
2017-08-16 09:14:04 +00:00
|
|
|
|
.EX
|
2014-06-11 10:05:09 +00:00
|
|
|
|
$ \fBecho abc ß α € àḃç | iconv \-f UTF\-8 \-t ASCII//TRANSLIT\fP
|
2014-06-11 08:09:40 +00:00
|
|
|
|
abc ss ? EUR abc
|
2017-08-16 09:14:04 +00:00
|
|
|
|
.EE
|
2014-06-11 10:05:09 +00:00
|
|
|
|
.in
|
iconv.1, localedef.1, access.2, execveat.2, fanotify_init.2, futex.2, ioctl_fat.2, mount.2, ftw.3, sd.4, tty_ioctl.4, fanotify.7, futex.7, posixoptions.7, iconvconfig.8: srcfix: Remove useless quotes from .SS and .SH sections
Signed-off-by: Stéphane Aulery <saulery@free.fr>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-03-08 02:03:52 +00:00
|
|
|
|
.SH SEE ALSO
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.BR locale (1),
|
2018-11-05 20:15:23 +00:00
|
|
|
|
.BR uconv (1),
|
2014-06-11 08:09:40 +00:00
|
|
|
|
.BR iconv (3),
|
|
|
|
|
.BR nl_langinfo (3),
|
|
|
|
|
.BR charsets (7),
|
|
|
|
|
.BR iconvconfig (8)
|