OT: CODESET problem
- From: "Andrew E. Makeev" <andrew solvo ru>
- To: gtkmm-main <gtkmm-list gnome org>, GTK-MAIN <gtk-list gnome org>
- Subject: OT: CODESET problem
- Date: Wed, 07 Aug 2002 15:19:41 +0400
Good day,
Sorry about using these lists, but I know there is some experienced
programmers who could help me.
I am using latest GTK/GTKMM releases on REDHAT Linux 7.1 for my app.
gcc-3.1
Problem is - g_get_charset function is initialized with two different
charsets if it is called from different parts of my application.
In my case:
- firts call to g_get_charset() directly just when GTK initialized -
returns "KOI8-R" - correct.
- first call to g_get_charset() deep in my app when I am using
std::cerr << <Glib::ustinrg> - ustring.cc calls Glib::locale_from_utf8()
and then charset is initialized with "ANSI_X3.4-1968" - incorrect, cuz
caused convert exception.
When I 've been searching in GLIB sources I've found it uses nl_langinfo
(CODESET) call to determine system charset. And exactly this function
returns that "ANSI_X3.4-1968" and "KOI8-R".
Quote from langinfo.h:
/* Return the current locale's value for ITEM.
If ITEM is invalid, an empty string is returned.
The string returned will not change until `setlocale' is called;
it is usually in (!) read-only memory and cannot be modified (!). */
extern char *nl_langinfo (nl_item __item) __THROW;
Could someone point me at the place where should I look for to resolve
this problem:
-hardware
-my app
-my OS
-some libs
-web site with description of codeset management
-others
(I wouldn't like solution - call g_get_charset() in place where it works
well. It is definatelly bug somewhere, and it will be pain if we gonna
meet it in some real software)
Thanks a lot in advance,
-Andrew
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]