The following debug section might be useful...
(gdb) n
84 g_error_free(error);
(gdb) n
85 error = NULL;
(gdb) n
69 for (;;) {
(gdb) n
70 result = g_locale_to_utf8(str, -1, &read, NULL, &error);
(gdb) print str
$8 = (gchar *) 0x81baa58 "??/musica/14
bis/14_bis_-_eu_j�fechei_meus_olhos.mp3"
(gdb) n
71 if (result != NULL)
(gdb) n
70 result = g_locale_to_utf8(str, -1, &read, NULL, &error);
(gdb) n
71 if (result != NULL)
(gdb) n
74 if (G_CONVERT_ERROR_ILLEGAL_SEQUENCE == error->code) {
(gdb) n
76 if (read == lastread) read++;
(gdb) n
77 str[read] = '?';
(gdb) n
78 lastread = read;
(gdb) n
84 g_error_free(error);
(gdb) n
85 error = NULL;
(gdb) n
69 for (;;) {
(gdb) n
70 result = g_locale_to_utf8(str, -1, &read, NULL, &error);
(gdb) print str
$9 = (gchar *) 0x81baa58 "??/musica/14
bis/14_bis_-_eu_j�fechei_meus_olhos.mp3"
(gdb) print result
$10 = (gchar *) 0x0
(gdb)
My locale settings (LC_CTYPE is the only one different, but I have tried
without it as well and got the same result):
[EMAIL PROTECTED] ~ $ locale
LANG=en_US.UTF-8
LC_CTYPE=pt_BR.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=
--
Felipe