Provided by: gettext-base_0.21-14ubuntu2_amd64 bug

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 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_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)