glib/gutf8.c (g_get_charset) glib/gconvert.c (g_locale_from_utf8) Clarify

2008-02-21  Tor Lillqvist  <tml@novell.com>
	
	* glib/gutf8.c (g_get_charset)
	* glib/gconvert.c (g_locale_from_utf8)
	* docs/reference/glib/running.sgml: Clarify character set
	issues on Windows.


svn path=/trunk/; revision=6551
This commit is contained in:
Tor Lillqvist 2008-02-21 13:07:49 +00:00 committed by Tor Lillqvist
parent bfda430eff
commit b60f5cf11b
5 changed files with 34 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2008-02-21 Tor Lillqvist <tml@novell.com>
* glib/gutf8.c (g_get_charset)
* glib/gconvert.c (g_locale_from_utf8): Clarify character set
issues on Windows.
2008-02-20 Tor Lillqvist <tml@novell.com> 2008-02-20 Tor Lillqvist <tml@novell.com>
* glib/gtestutils.c (g_test_trap_fork) [Win32]: Change the * glib/gtestutils.c (g_test_trap_fork) [Win32]: Change the

View File

@ -1,3 +1,7 @@
2008-02-21 Tor Lillqvist <tml@novell.com>
* glib/running.sgml: Clarify character set issues on Windows.
2008-02-13 Ryan Lortie <desrt@desrt.ca> 2008-02-13 Ryan Lortie <desrt@desrt.ca>
* gio/gio-sections.txt: add G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT * gio/gio-sections.txt: add G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT

View File

@ -214,6 +214,22 @@ call <function>setlocale (LC_ALL, "")</function> to set up the current
locale. locale.
</para> </para>
<para>
On Windows, in a C program there are several locale concepts
that not necessarily are synchronized. On one hand, there is the
system default ANSI code-page, which determines what encoding is used
for file names handled by the C library's functions and the Win32
API. (We are talking about the "narrow" functions here that take
character pointers, not the "wide" ones.)
</para>
<para>
On the other hand, there is the C library's current locale. The
character set (code-page) used by that is not necessarily the same as
the system default ANSI code-page. Strings in this character set are
returned by functions like <function>strftime</function>.
</para>
</refsect2> </refsect2>
<refsect2> <refsect2>

View File

@ -1098,7 +1098,8 @@ g_locale_to_utf8 (const gchar *opsysstring,
* *
* Converts a string from UTF-8 to the encoding used for strings by * Converts a string from UTF-8 to the encoding used for strings by
* the C runtime (usually the same as that used by the operating * the C runtime (usually the same as that used by the operating
* system) in the <link linkend="setlocale">current locale</link>. * system) in the <link linkend="setlocale">current locale</link>. On
* Windows this means the system codepage.
* *
* Return value: The converted string, or %NULL on an error. * Return value: The converted string, or %NULL on an error.
**/ **/

View File

@ -510,6 +510,12 @@ charset_cache_free (gpointer data)
* other encoding. (Frequently g_locale_to_utf8() and g_locale_from_utf8() * other encoding. (Frequently g_locale_to_utf8() and g_locale_from_utf8()
* are nice shortcuts, though.) * are nice shortcuts, though.)
* *
* On Windows the character set returned by this function is the
* so-called system default ANSI code-page. That is the character set
* used by the "narrow" versions of C library and Win32 functions that
* handle file names. It might be different from the character set
* used by the C library's current locale.
*
* The return value is %TRUE if the locale's encoding is UTF-8, in that * The return value is %TRUE if the locale's encoding is UTF-8, in that
* case you can perhaps avoid calling g_convert(). * case you can perhaps avoid calling g_convert().
* *