GTK+ 中文显示解决方案
来源:互联网 发布:数字小姐是谁知乎 编辑:程序博客网 时间:2024/05/18 03:18
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+在界面显示中文的问题,常常在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)
0 0
- GTK+ 中文显示解决方案
- GTK+ 中文显示解决方案
- GTK中文显示出现乱码解决方案
- GTK+如何显示中文?
- GTK+显示中文字符串
- vim 显示中文
- [转载]GTK+ 编程[1] -- 关于中文显示
- Windows下GTK+显示中文方法
- 在gtk+程序中显示中文说明
- jsp中文显示解决方案
- GTK+中文件选择控件(File S…
- evince 显示中文乱码
- ctex 如何显示中文
- Qt/Embedded显示中文,解决方案
- jsp中文显示乱码解决方案
- jsp中文显示乱码解决方案
- jsp中文显示乱码解决方案
- jsp中文显示乱码解决方案
- 111
- Cmd命令行 输入法不可用
- Windows安装配置Gtk步骤
- 我的博客今天0岁85天啦!
- ttt
- GTK+ 中文显示解决方案
- 学习使用GTK+ 0.概述
- 我的群
- Qt 静态库
- Qt静态库终于TNND编译出来了.....
- PE结构
- 修改qt程序的图标(for windows)
- 如何添加一个 mingw gcc 编译的可…
- vim+code_complete+ctags配置vim自…