LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 913|回复: 8

请问gtk+2.0中文显示问题

[复制链接]
发表于 2004-4-19 21:15:10 | 显示全部楼层 |阅读模式
我用gtk+-2.0写了一个小程序,编译通过,可运行生成的可执行文件,点击按钮弹出对话框时,
会出现这样一个错误提示:** (hello:1411): WARNING **: Invalid UTF8 string passed to pango_layout_set_text()

我又在源程序里加了gtk_set_locale();这个函数,错误照旧,我用gtk+-1.2是可以显示中文的,2.0
也能显示中文,这是怎么回事?
发表于 2004-4-19 21:25:58 | 显示全部楼层
将字符串转成utf8,或者将源程序保存为utf8格式的再编译
 楼主| 发表于 2004-4-20 08:59:27 | 显示全部楼层
我也注意到这个问题了,可我不知道如何具体转换,能详悉的说一下吗?谢谢!
发表于 2004-4-20 12:47:08 | 显示全部楼层
需要提醒你的是,gtk2已经改用utf8格式来处理字符串了.
** (hello:1411): WARNING **: Invalid UTF8 string passed to pango_layout_set_text()
只是警告,不是错误,如果你的中文能正常显示也就算了,我遇到过有些utf8格式的字串也会出现这种提示,不过也能正常显示,可能是有些
特殊字符不能转为utf8格式的吧.
至于格式的转换,你可以在程序运行,使用g_locale_to_utf8函数(请
参考http://www-900.ibm.com/developer ... gnome/gnome2/part1/)
或者将你所用到的字串都先保存为utf8格式,
例如:将源程序保存为utf8格式,再编译,在程序中就不需要转换了.
不知我说的对不对,请高手补充一下,希望没误人子弟.
 楼主| 发表于 2004-4-22 20:58:18 | 显示全部楼层
多谢,用你的方法终于能正常显示了,我加了那个函数,没有把源程序保存为
UTF8格式,我不会!
发表于 2004-4-23 10:07:49 | 显示全部楼层
你用什么编辑软件?? 我用的是gedit,保存的时候有选编码的
 楼主| 发表于 2004-4-27 09:09:43 | 显示全部楼层
我用的是VI,GEDIT我也有,我试一下,谢谢了,有空请你吃螃蟹!
发表于 2004-4-27 20:57:08 | 显示全部楼层
呵呵.. 这么好,等着你的螃蟹.
 楼主| 发表于 2004-4-29 12:08:23 | 显示全部楼层
好吧,我遇到的都是实在人啊,但愿是个MM,不知道这是不是灌水啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表