GTK在WINDOWS系统上中文显示有问题,
原因在于,通常WINDOWS使用GB2312作为LOCAL编码,
而GTK中使用了UTF-8编码. 所以导致中文显示有问题.
经探索, 找到一个办法,使用GLIB提供的函数对字符的编码进行转换:
g_locale_to_utf8()
g_convert()

使用如下定义的函数后,
只要有中文显示的地方, 都可以使用 _U("中文字符常量 或 变量") 进行转换.

GTK学习笔记2 - GTK在WINDOWS系统中文显示乱码的问题-LMLPHP


点击(此处)折叠或打开

  1. gchar *_U(gchar *str)
  2. {
  3.     return(g_locale_to_utf8(str, -1, 0, 0, 0));
  4. }

点击(此处)折叠或打开

  1. gchar *_U(gchar *str)
  2. {
  3.     return (g_convert(str, -1, "GB2312", "UTF-8", NULL, NULL, NULL));
  4. }



11-08 08:41