GNU libiconv - character set conversion library
This library provides an iconv()
implementation, for use on systems which
don't have one, or whose implementation cannot convert from/to Unicode.
It provides support for the encodings:
- European languages
- ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
KOI8-R, KOI8-U, KOI8-RU,
CP{1250,1251,1252,1253,1254,1257}, CP{850,866},
Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
Mac{Cyrillic,Ukraine,Greek,Turkish},
Macintosh
- Semitic languages
- ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
- Japanese
- EUC-JP, SHIFT-JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
- Chinese
- EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
ISO-2022-CN, ISO-2022-CN-EXT
- Korean
- EUC-KR, CP949, ISO-2022-KR, JOHAB
- Armenian
- ARMSCII-8
- Georgian
- Georgian-Academy, Georgian-PS
- Thai
- TIS-620, CP874, MacThai
- Laotian
- MuleLao-1, CP1133
- Vietnamese
- VISCII, TCVN, CP1258
- Platform specifics
- HP-ROMAN8, NEXTSTEP
- Full Unicode
- UTF-8
UCS-2, UCS-2BE, UCS-2LE
UCS-4, UCS-4BE, UCS-4LE
UTF-16, UTF-16BE, UTF-16LE
UTF-32, UTF-32BE, UTF-32LE
UTF-7
JAVA
- Full Unicode, in terms of
uint16_t
or uint32_t
(with machine dependent endianness and alignment)
- UCS-2-INTERNAL, UCS-4-INTERNAL
- Locale dependent, in terms of `char' or `wchar_t'
(with machine dependent endianness and alignment, and with OS and
locale dependent semantics)
- char, wchar_t
It can convert from any of these encodings to any other, through Unicode
conversion.
It has also some limited support for transliteration, i.e. when a character
cannot be represented in the target character set, it can be approximated
through one or several similarly looking characters. Transliteration is
activated when "//TRANSLIT" is appended to the target encoding name.
libiconv is for you if your application needs to support multiple character
encodings, but that support lacks from your system.
Installation
As usual for GNU packages:
$ ./configure --prefix=/usr/local
$ make
$ make install
This library can be built and installed in two variants:
- The library mode. This works on all systems, and uses a library
libiconv.so
and a header file <iconv.h>
. (Both are installed
through "make install".)
To use it, simply #include <iconv.h>
and use the functions.
- The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
systems only. It is a way to get good iconv support without having
glibc-2.1.
It installs a library
libiconv_plug.so
. This library can be used with
LD_PRELOAD, to override the iconv* functions present in the C library.
A program's source need not be modified, the program need not even be
recompiled. Just set the LD_PRELOAD environment variable, that's it!
Distribution:
ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.7.tar.gz
ftp://ftp.ilog.fr/pub/Users/haible/gnu/libiconv-1.7.tar.gz
Documentation
Here is the online documentation.
The iconv
program
iconv.1.html
The library functions
iconv_open.3.html
iconv.3.html
iconv_close.3.html
libiconv package
Bruno Haible <bruno-antispam@antispam.clisp.org>
Last modified: 28 June 2001.