(转自:http://www.wangchao.net.cn/bbsdetail_40679.html)
GTK+ 中文显示解决方案
有关GTK+在界面显示中文的问题,常常在Linux和使用GTK的Win32的开发人员心中隐隐作痛。不过,人类是聪明的。中国人有上下5000年的悠久的血统。所以,我们是聪明的。所以,对于中文显示也有很多对策。最常见的是IBM网站上用的gettext不过。我试过,至少在Win32下不行。所以,查了很多的资料。请教了很多Linux公社的人。现在有了很好的解决方式。
首先,GTK+不是不支持中文,而是必须使用UTF-8的编码来显示中文。而我们平时在国内使用的是GB码。所以,由于编码不同才会造成乱码的。既然是这样,所以问题也就迎刃而解了。我们只要在编译的时候将中文转换成UTF-8再传给GTK显示就可以了。
接着我们就要考虑如何实现了。在Linux公社有关这个解决方式的一种是将代码转换成UTF-8在用gcc编译。可是,我在win32下尝试过了。用mingw32编译失败。那么我们就用函数来实现吧。
最后我们就来看看该函数。
g_locale_to_utf8()
这个函数是GTK将系统默认编码转换成UTF-8的一个函数。
但是,这个函数每次调用都要传入 5 个参数。太多又麻烦。所以,接见gettext的一些方式。使用_作为函数名来显示中文。函数定义如下。
char *_(char *c)
{
return(g_locale_to_utf8(c,-1,0,0,0));
}
如果需要调用就用 _("中文")就可以了。
好了,这个方式在Redhat Linux 9和 Windows XP下测试都成功了。
其中,win32下的GTK是来自于
http://www.dropline.net/gtk/download.php
SDG - L&W
北斗星君(黄庠魁)(王朝网络 wangchao.net.cn)
分享到:
相关推荐
GTK+ 参考手册 for GTK+ 2.14.3,最新英文版 GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released under ...
Foundations of GTK+ Development (PDF 英文版) By Andrew Krause ISBN10: 1-59059-793-1 ISBN13: 978-1-59059-793-4 630 pages Apr 2007 (Apress) GTK+ is one of the most influential graphical toolkits for...
基于C gtk/gtk+ sqlite3选课系统的开发
GTK+程序设计中文版 .pdf
gtk+开发工具gtk+开发工具gtk+开发工具
GTK+(GIMP Toolkit)是一套跨多种平台的图形工具包,按LGPL许可协议发布的。虽然最初是为GIMP写的,但目前已发展为一个功能强大、设计灵活的一个通用图形库。特别是被GNOME选中使得GTK+广为流传,成为Linux下开发图形...
最新的基于GTK+的单词数值计算器基于linux开发,中文显示,见面优化,配带有相关文件,流程图,代码
gtk+-bundle_2.18.7-20100213_win32 gtk+-bundle_2.18.7-20100213_win32
gtk+-2.24.0.tar.bz2 GTK+源代码 自己需要的
GTK+2.0编程范例-书籍和书中代码.tar.gz GTK+2.0编程范例 书本比较清晰 加上有代码 GTK入门和提高必备
压缩包包含gtk+-bundle_2.24.10-20120208_win32文件和gtk+ Visual Studio 2008环境搭建文档说明
英文名称:The GTK+ tutorial 本GTK+程序初级教程采用了“引导”式的方法来教你如何使用GTK+。本教程所用的编程语言为C语言。并且整个教程中方法已经在Linux中测试通过。本教程适用GTK+的初级兼代中级水平的程序员...
本书详细介绍了两种Linux图形用户界面开发技术:GTK+/GNOME。主要内容包括:GUI的基本概念,GLib,GTK+及GNOME的简介,各种GUI元素的创建与使用,bIDE,Glade等等。最后通过两个综合实例来巩固所学知识。本书实例...
GTK+虽然是Linux下的开发工具包,但是因为其跨平台特性,我们可能需要在Windows 环境下进行程序开发。所以如何在Windows下配置GTK+的开发环境,是许多Gtk学习者的实际需求。 本文在下文基础上增加了GTK+3.0模板修改...
注意: GTK+ 3.x版本跟Python2.7不兼容,如果在Python下使用GTK,需要安装2.x版的gtk+ (在windows上如此)
gtk+2.0中文教程
gtk+-2.6.6.tar.bz2
第五部分包括三个附录,附录A是书中使用的示例GnomeHello的源代码,附录B介绍了一些与Gtk+/Gnome编程相关的在线资源,附录C是Gtk+/Gnome对象的简要介绍。本书中的Gtk+构件示例都来自于GTK 1.2.3软件包的示例。如果...
关于图形库GTK+2.0的一本教材,例子丰富……对刚刚入门的人应该有用