blob: d447906a46956355cbb7d526bdedc2ef9a7ef792 [file] [log] [blame]
LIBCHARSET - portable character set determination library
This library provides a function which determines the character set / encoding
of text in the currently selected locale (the LC_CTYPE locale facet).
It is useful for portable programs which need to process text in other
encodings and locales than the currently selected one. Possible uses:
* Use of Unicode in POSIX compliant applications.
* Conversion of text between the current locale's encoding and UTF-8 (or
any other given encoding).
* Mail agents.
In theory, this would be very simple: POSIX provides the nl_langinfo function,
in such a way that
nl_langinfo (CODESET)
returns the encoding name. But the nl_langinfo function still does not exist
on some systems, and on those where it exists it returns unstandardized
variations of the encoding names, like (on Solaris) "PCK" for "Shift_JIS".
This library fixes these flaws and provides a function
const char * locale_charset (void);
It determines the current locale's character encoding, and canonicalizes it
into one of the canonical names listed in localcharset.h. The result must
not be freed; it is statically allocated. If the canonical name cannot be
determined, the result is a non-canonical name.
As usual for GNU packages:
$ ./configure --prefix=/usr/local
$ make
$ make install
This library is used in
GNU coreutils
GNU gettext
GNU clisp
To integrate this library into your package:
- Either from this package. See file INTEGRATE.
- Or from gnulib. See
The libcharset directory of
Bruno Haible <>