#include <stdio.h>
#include <string.h>
#include <glib.h>
main()
{
char* s="тест";
char* utf;
int i;
GError *error=NULL;
printf("%s\n",kod);
s8=g_locale_to_utf8(s,-1,NULL,&i,&error);
printf("%s\n",error->message);
}
В ответ получаю
тест
Invalid byte sequence in conversion input
В чем я не прав?
Если я что-нибудь в чем-нибудь понимаю, вероятно проблема в отсутствии инициализации локали. Что-то типа setlocale в начале программы.
Но это чистые предположения.