LinuxSir.cn,穿越时空的Linuxsir!

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

高手请看。Locale not supportde by C library

[复制链接]
发表于 2005-5-12 17:42:20 | 显示全部楼层 |阅读模式
错误提示是这样的:
Gtk_WARNING:Locale not supportde by C library
the font "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,
-misc-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0,*-r-*" does not support all the required character sets for the current locale "C"
"missing character set "ISO8859-1" "

上面的这个东西是我当前目录中gtkrc.zn中的值
#./gtkrc.zh
style "gtk-default-zh-cn" {
fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,\
-misc-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"

我在主机(Redhat9)上已经汉化成功的gtk程序移植到我自己裁减的linux(Redhat9裁减而来)系统中运行时就出现上面的警告。gtk程序的图形界面不显示中文,连乱码都没有了,是空白的。

各位大侠给给提示吧。是我的中文字库没有移植进去还是别的什么原因!那这个Gtk_WARNING:Locale not supportde by C library有怎么理解了
已经耗了几天时间了。麻烦各位了!
 楼主| 发表于 2005-5-16 11:37:14 | 显示全部楼层
the font "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,
-misc-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0,*-r-*" does not support all the required character sets for the current locale "C"
"missing character set "ISO8859-1" "
这个问题已经解决了。是我的字体库没有拷进去,可是这个Gtk_WARNING:Locale not supportde by C library还在。还是不能显示中文,空白的。
已经快一个星期了。还是没有解决,希望各位给点建议!谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-16 11:42:44 | 显示全部楼层
the font "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,
-misc-simsun-medium-r-normal--14-*-*-*-*-*-gbk-0,*-r-*" does not support all the required character sets for the current locale "C"
"missing character set "ISO8859-1" "
这个问题已经解决了。是我的字体库没有拷进去,可是这个Gtk_WARNING:Locale not supportde by C library还在。还是不能显示中文,空白的。
已经快一个星期了。还是没有解决,希望各位给点建议!谢谢
回复 支持 反对

使用道具 举报

发表于 2005-5-18 18:05:30 | 显示全部楼层
从老兄给出的出错提示上看似乎是因为当前 encoding 不支持中文引起的(current locale 的值是“C”)。

莫非老兄裁减过后的 RedHat 的默认locale 不是中文?检查一下当前系统 $LANG 环境变量。如果是中文则通常是zh_CN.GB2312、zh_CN.GBK或者是zh_CN.GB18030中的一个。如果是 C 就糟糕了。

另外,老兄汉化的代码中有没有设置过 gtk_set_locale() 函数?如果这个函数没有加上则 GTK 默认将程序的主encoding设置为 C,而加上之后 GTK 会自动将程序的encoding设置成为系统的encoding。

最后一种情况:兄台你汉化的程序中使用的字体装载函数是 *_font() 还是 *_fontset()?从你的错误提示信息来看你汉化的好象是一个 GTK 1.2 程序。如果确实如此,则就需要把 *_font() 修改称为 *_fontset() 函数了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-19 10:52:22 | 显示全部楼层
谢谢 这个问题已经解决了。是我的locale的问题。我开始用locale -a  查看所有的locales是仅仅有C 和
POSIX。后来我在目录/usr/share/locale 里面加入了zh_CN.GB2312 和zh_TW.Gib5. 现在可以通过设置LANG 改变它为zh_CN.GB2312,今Xwin也没有警告了。Xwin里面的应用程序也能显示汉字了。
   能帮我看看这个吗,我裁减时删的字体太多了。出现了这个问题开机时运行到welcome后显示一些乱码
http://www.linuxsir.cn/bbs/showthread.php?p=1156519#post1156519
   非常感谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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