BIND_TEXTDOMAIN_CODESET
#NAMENAME #SYNOPSISSYNOPSIS #DESCRIPTIONDESCRIPTION #RETURN VALUERETURN VALUE #ERRORSERRORS #BUGSBUGS #SEE ALSOSEE ALSO NAME
bind_textdomain_codeset - set encoding of message translations
SYNOPSIS
#include <libintl.h>
char * bind_textdomain_codeset (const char *
 domainname,
                                const char *
 codeset);
DESCRIPTION
The 
bind_textdomain_codeset function sets the output
codeset for message catalogs for domain
domainname. A message domain is a set of translatable 
msgidmessages. Usually, every software package has its own
message domain.
By default, the 
gettext family of functions returns
translated 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 
domainname and must not be modified or freed. If
a memory allocation 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), dngettext(3),
dcngettext(3), textdomain(3),
nl_langinfo(3), iconv_open(3) 