linux字符界面下的乱码问题
编辑/etc/sysconfig/目录下的i18n文件,将LC_ALL=POSIX写入
如果,vi正常显示英文,那么service的问题就不是locale了。
另外,如果你在i18n文件中加入LC_ALL=POSIX,那么,系统的LC_XXX就都会变为POSIX,如果你需要使用KDE或GNOME,那么也会是英文的。
如果你想在console下使用英文locale,而在X下使用中文,就要做如下修改:
如果你使用的是KDE
#vi 'which startkde'
编辑kde的启动脚本,在其头部加入export LC_ALL=zh_CN.GB18030。
如果使用gnome
#which gnome-session
查找gnome-session(gnome的启动文件)的位置,但是这个文件不是shell脚本,不能vi编辑
我们将其改名,在gnome-session的目录下
#mv gnome-session gnome-session.orig
#vi gnome-session
export LC_ALL=zh_CN.GB18030
exec gnome-session.orig $*
保存,退出,将这个脚本添加“执行”位
#chmod 755 gnome-session
就OK了。
这样,你再console下locale是POSIX,在X下而是zh_CN
 
   由于自己在装Redhat9 Linux时选择的缺省语言是中文,在字符界面下会出现乱码情形。对于在CLI方式下要调试程序时极其困难,因为出错信息全部是乱码。下面将字符界面下会出现乱码解决方法记录如下:
   注:下面#为命令提示符
方法一:
  #locale    (locale命令用于查看使用语言详细信息,为中文语言)
  #export LC_ALL=POSIX    (export命令导出修改LC_ALL语言选项)
  #locale    (再次查看,信息已经改变了)
  该方法在用户注销或重启后将失效,要想保存设置,见方法2。
方法二:
  #vi /etc/sysconfig/i18n   (利用vi编辑器修改配置文件i18n)
  将LC_ALL=POSIX写入i18n配置文件中。
  注销或重启服务便永久生效。