Subject: iconv and conversion from/to local charset and wchar_t
To: None <tech-userlevel@netbsd.org>
From: Hendrik Sattler <ubq7@stud.uni-karlsruhe.de>
List: tech-userlevel
Date: 01/29/2004 18:53:03
Hi,
I am currently programming with GNU libiconv on Debian GNU/Linux. I was told
that the NetBSD iconv implementation does some things a bit different.
Mainly, I am interested in some details about easy converting characters from
local input to an UCS-4 encoded string.
To do this, GNU libiconv suggests (for iconv_open()) using "" (empty string)
or "char" for conversion from/to charset as defined by the current locale
(char*), and "wchar_t" for conversion from/to wchar_t*.
Another method for the encoding of the string inside a char* that was read
from the system may be to use nl_langinfo(CODESET).
What is the suggested method for NetBSD's iconv implementation? Note that I
cannot really use wchar_t as I need to do assumptions about the encoding and
the numeric values of specific characters.
Currently, I do a runtime check like
iconv_open("","");
iconv_open("char","char")
icovn_open(nl_langinfo(CODESET),nl_langinfo(CODESET));
and look at the return value _not_ being (iconv_t)-1.
Will this work with NetBSD's iconv implementation?
Are there any other things to check about this?
Thanks for your help
Hendrik Sattler