lrywhq 发表于 2005-9-20 15:24:16

linux中文问题,急呀!

本人用java写了一个小服务器LRYServer,要求在red hat 9上运行,其安装在/usr/HDLRYSV目录下,要求其随linux启动而启动,所以在/etc/rc.d/目录下的文件rc.local文件中进行了配置,配置如下:
export JDK_HOME ...
export JAVA_HOME ...
/usr/HDLRYSV/LRYServer &
这样,在linux启动时,LRYServer确实也启动了,但是LRYServer写的中文日志都是乱码,并且linux在启动LRYServer之前要报"can not get local",为解决这个问题,在rc.local文件的export JDK_HOME ...前加上export LANG=zh_CN.GBK(或export LANG=zh_CN.GB2312),这时linux不再报"can not get local",但LRYServer写的日志还是乱码。
如果不设置LRYServer随linux启动而启动,在root用户登录后,启动桌面(startx),手工启动LRYServer(双击可执行文件LRYServer或在终端命令行下启动LRYServer),这时其写的日志不是乱码了。
所以我怀疑是linux启动后,在加载桌面前,中文字符集没有加载,所以不支持中文,发现也确实如此,例如用vi打开一个文件,vi最下面显示的中文也是乱码。这样看来,当启动了桌面,也就加载的中文支持。
   那么要在随linux启动而启动LRYServer之前,把中文支持加载上。而在/etc/sysconfig目录下的i18n文件的内容是:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
看这样好象也是加载中文支持了,本人又做了修改如下
LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
可LRYServer日志的中文还是乱码。

这时我发现当linux启动时有如下一项输出:
Settin default font(lat0-sun16):          [ ok ]
这说明确实是用到了i18n文件中的SYSFONT="lat0-sun16"配置,可到此我便不知如何做了,请大侠指点了

   问题就是这些,请帮助解决,在此先感谢了!

ggad 发表于 2005-10-10 11:25:47

也许日志是 utf-8 而你当前 locale 是 zh_CN.GBxxx 所以在 X 终端里看到是乱码,你可以试试用 gedit 来打开日志看看。

qqsk 发表于 2006-6-8 21:45:16

抓下来的网页,如果是utf-8编码,也会出现乱码
页: [1]
查看完整版本: linux中文问题,急呀!