在GTK窗口和控件上显示中文字符的时候遇到问题,直接显示都是 框框圈圈叉叉 ……
于是度娘了下,问该问题的人相当的多,回答者大多如出一辙,回复的都是如下文章:
http://www.sudu.cn/info/html/edu/20070102/293163.html
该文章引用相当广泛,但实际上没有给出解决实际问题的方案,转载者也是不负责任的复制黏贴……NND
实际问题跟gtk依赖库glib相关
gtk字符编码默认的就是utf-8的,所以在程序中使用 GtkWidget *lable = gtk_label_new("中文"); 时,
运行程序过程中会出现打印警告(<unknown>:1449): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text(),
改成 GtkWidget *lable = gtk_label_new(g_convert("中文",-1,"UTF-8","GB2312",NULL,NULL,NULL));
就行了。
在GTK+下显示中文
实际解决方案在此,转人家的一贴,感谢分享经验
http://blog.youkuaiyun.com/joker0910/article/details/6529469
如果想了解下字符编码方式:
http://www.cnblogs.com/xiaomia/archive/2010/11/28/1890072.html