Gtk+ 编写 Windows 程序的编码问题

使用 Gtk+ 编写 Windows 程序时会遇到这样的一个小问题,Gtk+ 函数输出的字符串直接作为 Windows API 的参数时是不行的。这个是因为 Windows API 默认使用的不是 UTF-8 编码,需要使用 g_locale_from_utf8() 函数转换一下。

应用实例

/* get cmd string from entry */
gchar * str = gtk_entry_get_text(entry);
/* convert utf8 string to locale */
gchar * scmd = g_locale_from_utf8(str, -1,  NULL, NULL, NULL);
system(scmd);  /* call this cmd */

Over!

Leave a Reply

Your email address will not be published. Required fields are marked *