@subheading stringprep_locale_charset
@anchor{stringprep_locale_charset}
@deftypefun {const char *} {stringprep_locale_charset} ( @var{void})

Find out current locale charset.  The function respect the CHARSET
environment variable, but typically uses nl_langinfo(CODESET) when
it is supported.  It fall back on "ASCII" if CHARSET isn't set and
nl_langinfo isn't supported or return anything.

Note that this function return the application's locale's preferred
charset (or thread's locale's preffered charset, if your system
support thread-specific locales).  It does not return what the
system may be using.  Thus, if you receive data from external
sources you cannot in general use this function to guess what
charset it is encoded in.  Use stringprep_convert from the external
representation into the charset returned by this function, to have
data in the locale encoding.

@strong{Return value:} Return the character set used by the current locale.
It will never return NULL, but use "ASCII" as a fallback.
@end deftypefun

@subheading stringprep_convert
@anchor{stringprep_convert}
@deftypefun {char *} {stringprep_convert} (const char * @var{str}, const char * @var{to_codeset}, const char * @var{from_codeset})
@var{str}: input zero-terminated string.

@var{to_codeset}: name of destination character set.

@var{from_codeset}: name of origin character set, as used by @code{str}.

Convert the string from one character set to another using the
system's @code{iconv()} function.

@strong{Return value:} Returns newly allocated zero-terminated string which
is @code{str} transcoded into to_codeset.
@end deftypefun

@subheading stringprep_locale_to_utf8
@anchor{stringprep_locale_to_utf8}
@deftypefun {char *} {stringprep_locale_to_utf8} (const char * @var{str})
@var{str}: input zero terminated string.

Convert string encoded in the locale's character set into UTF-8 by
using @code{stringprep_convert()}.

@strong{Return value:} Returns newly allocated zero-terminated string which
is @code{str} transcoded into UTF-8.
@end deftypefun

@subheading stringprep_utf8_to_locale
@anchor{stringprep_utf8_to_locale}
@deftypefun {char *} {stringprep_utf8_to_locale} (const char * @var{str})
@var{str}: input zero terminated string.

Convert string encoded in UTF-8 into the locale's character set by
using @code{stringprep_convert()}.

@strong{Return value:} Returns newly allocated zero-terminated string which
is @code{str} transcoded into the locale's character set.
@end deftypefun

