Re: g_locale_from_utf8() errors on Windows 2000
- From: Chris Vine <chris cvine freeserve co uk>
- To: Alexander Shaduri <ashaduri gmail com>
- Cc: gtk-list gnome org
- Subject: Re: g_locale_from_utf8() errors on Windows 2000
- Date: Sun, 14 Dec 2008 21:08:51 +0000
On Sun, 14 Dec 2008 23:51:09 +0400
Alexander Shaduri <ashaduri gmail com> wrote:
>
> Hi all,
>
> I'm getting an error when using g_locale_from_utf8()
> under win2000 (doesn't happen in XP or Vista).
>
> With a locale of "English_United States.1252", for:
> ---------------------------------------------------------
> GError* error = 0;
> gsize written = 0;
> g_locale_from_utf8("hello", 5, NULL, &written, &error);
> ---------------------------------------------------------
>
> I get:
> ---------------------------------------------------------
> Invalid byte sequence in conversion input
> ---------------------------------------------------------
> in error->message.
>
> A simple test case is attached.
>
> This gets especially annoying when using Glibmm,
> where a simple
> std::cout << Glib::ustring("abc");
> triggers a conversion error exception (it calls the
> g_locale_from_utf8() function), and the program dies
> all over the place due to unhandled exceptions.
>
> The gtk/glib/dependencies come from
> http://ftp.gnome.org/pub/gnome/binaries/win32/
Does it work if you call setlocale(LC_ALL,"") (or with glibmm,
std::locale::global(std::locale("") ) before you attempt any
conversions?
If not, it looks as if your editor is writing the string literal into
your code in a codeset which represents the characters "hello"
differently than UTF-8/ASCII does (g_locale_from_utf8() has to be
passed valid UTF-8).
Chris
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]