(转自: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)
分享到:
相关推荐
4. **Unicode支持**:能够正确显示各种语言的字符,包括中文和其他非拉丁字符。 5. **VT100兼容**:遵循标准的VT100终端控制序列,确保与大多数命令行程序兼容。 6. **扩展插件支持**:可能有插件系统,允许用户添加...
综上所述,PyGTK作为一种强大的GUI工具包封装,结合Python的易用性和灵活性,为桌面应用开发提供了一个高效、可靠的解决方案。无论是学习GUI编程的基础,还是进行专业级应用开发,PyGTK都是一个值得掌握的重要技能。
对于跨平台的解决方案,我们可以选择GTK+或Qt。这些库都提供了丰富的控件和API来创建复杂的GUI,并且它们都支持Unicode字符集,包括汉字。例如,在Qt中,可以使用`QLabel`或`QTextEdit`类显示汉字,通过设置合适的...
### vim中文乱码解决方案 #### 一、问题背景与概述 在使用Vim编辑器时,中文乱码问题是一个常见的现象,特别是在Fedora和Ubuntu等Linux发行版中更为突出。本文将详细介绍如何解决Vim中的中文乱码问题,并提供一些...
如i18n(internationalization)框架,提供了一套完整的解决方案,包括资源文件管理、翻译工具、语言切换等功能,简化了整个中文化过程。 10. **社区贡献**: 许多开源项目依赖社区的贡献进行翻译,如Transifex、...
本文将详细介绍如何在Red Hat 9中成功安装mplayer,并针对一些常见的问题提供解决方案。 #### 二、安装前准备 1. **环境要求**: - 系统:Red Hat 9 - 必需软件包:XFree86-devel(用于GUI支持)、libpng、libpng...
"Linux系统文件乱码转码工具"正是这样一个解决方案,它基于GTK+库,专为Linux用户设计,能够帮助用户批量转换文件编码,确保在Linux环境下正确显示文件内容。 首先,我们要了解字符编码的基本概念。字符编码是用来...
例如,库文件可能包含gec6818的驱动程序和API实现,设计笔记则可能记录了项目的开发过程、遇到的问题及解决方案,对于后续的学习和维护极具参考价值。 总的来说,这个项目融合了语音识别技术、Linux系统编程、字符...
在图形用户界面方面,文档提出了两种解决方案:一种是基于Framebuffer的嵌入式图形应用库,适用于虚拟控制台方式,支持1到32位每像素(bpp)的屏幕显示,能够显示西文和中文,并具有强大的绘图功能,如画线、区域填充...
- **GTK+/Qt/FLTK等库**: 这些图形库提供了跨平台的方式来处理汉字显示。 6. **自定义编码处理**: - **位图字体**: 如果无法使用系统支持的编码,可以考虑自己实现位图字体,将每个汉字映射到特定的位图。 7. *...
在Ubuntu操作系统中,Sublime Text是一款非常流行的代码编辑器,然而有时用户会遇到在Sublime Text中无法输入中文的问题。...这是一个针对性的解决方案,旨在帮助遇到同样问题的开发者恢复Sublime Text的中文输入功能。
#### 解决方案概述 解决RHEL中文显示及输入问题的方法主要分为两步:一是安装必要的中文字体和语言包;二是配置相应的系统设置以启用中文支持。 ### 一、安装必要的字体和语言包 #### 1. RHEL 4 示例 **步骤一:...
总的来说,"my_database.rar_Linux下通讯录"提供了一种在Linux系统中管理联系人的解决方案,利用了Linux的GUI框架、数据库技术和文件系统。它不仅是一个实用工具,也是理解Linux应用开发和技术栈的一个实例。
通过这篇文章,我们可以了解到一个详细的解决方案,特别是对于那些希望在Linux环境下获得类似Windows XP中文体验的用户。 首先,解决Linux中显示中文的问题通常涉及到字体的安装和配置。作者提到,无需寻找Windows ...
它的核心目标是提供一种高效、灵活且易于使用的文本布局和渲染解决方案。Pango支持Unicode,能够处理世界上几乎所有的字符,包括复杂的脚本和排版规则,如希伯来语、阿拉伯语和中文。它不仅适用于桌面环境,还可以...
如果遇到问题,可以尝试更新您的系统或者搜索相关的解决方案。此外,除了ibus-pinyin,还有其他拼音引擎可供选择,比如ibus-sunpinyin或ibus-anthy(日文输入法),根据个人喜好和需求选择合适的引擎即可。
在IT领域,尤其是在跨平台应用开发中,字体的兼容性和可用性是一个重要的考虑因素。本文将深入探讨"msyh.ttf黑体"和"simhei.ttf微软雅黑"这两...在跨平台开发时,了解并掌握这种字体兼容性问题的解决方案是至关重要的。