bind_textdomain_codeset(3)
NAME
bind_textdomain_codeset - set encoding of message transla-
tions
SYNOPSIS
#include <libintl.h>
char * bind_textdomain_codeset (const char * domainname,
const char * codeset);
DESCRIPTION
The bind_textdomain_codeset function sets the output code-
set for message catalogs for domain domainname.
A message domain is a set of translatable msgid messages.
Usually, every software package has its own message
domain.
By default, the gettext family of functions returns trans-
lated messages in the locale's character encoding, which
can be retrieved as nl_langinfo(CODESET). The need for
calling bind_textdomain_codeset arises for programs which
store strings in a locale independent way (e.g. UTF-8)
and want to avoid an extra character set conversion on the
returned translated messages.
domainname must be a non-empty string.
If codeset is not NULL, it must be a valid encoding name
which can be used for the iconv_open function. The
bind_textdomain_codeset function sets the output codeset
for message catalogs belonging to domain domainname to
codeset. The function makes copies of the argument strings
as needed.
If codeset is NULL, the function returns the previously
set codeset for domain domainname. The default is NULL,
denoting the locale's character encoding.
RETURN VALUE
If successful, the bind_textdomain_codeset function
returns the current codeset for domain domainname, after
possibly changing it. The resulting string is valid until
the next bind_textdomain_codeset call for the same domain-
name and must not be modified or freed. If a memory allo-
cation failure occurs, it sets errno to ENOMEM and returns
NULL. If no codeset has been set for domain domainname, it
returns NULL.
ERRORS
The following error can occur, among others:
ENOMEM Not enough memory available.
BUGS
The return type ought to be const char *, but is char * to
avoid warnings in C code predating ANSI C.
SEE ALSO
gettext(3), dgettext(3), dcgettext(3), ngettext(3), dnget-
text(3), dcngettext(3), textdomain(3), nl_langinfo(3),
iconv_open(3)
Man(1) output converted with
man2html