DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

bind_textdomain_codeset(3)





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 mes-
       sage 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 translated messages
       in the locale's character encoding, which can be retrieved as  nl_lang-
       info(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 result-
       ing string is valid until the next bind_textdomain_codeset call for the
       same  domainname and must not be modified or freed. If a memory alloca-
       tion 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 warn-
       ings 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)

GNU gettext 0.16.1                 May 2001         BIND_TEXTDOMAIN_CODESET(3)

Man(1) output converted with man2html