g_warning cannot print character 'á'
Well this is weird. Anyone know why g_warning()
cannot print 'á'? I can't imagine that this is somehow expected behavior. This test program:
// gcc `pkg-config --cflags --libs glib-2.0` test.c
#include <glib.h>
#include <glib/gstdio.h>
int
main (void)
{
g_warning ("calendário");
g_printf ("calendário\n");
return 0;
}
Outputs:
$ ./a.out
** (process:82413): WARNING **: 11:53:49.402: calend?rio
calendário
Surely it should print "calendário" instead of "calend?rio"?
I'm testing with glib commit 96c25ceb and:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
CC: @feaneron