怎么处理 linux 操作系统显现中文乱码疑问?

  经过剖析脚本,我晓得,图形界面发动的时分脚本是依据LANG变量来决议能否启用输入法,以及启用哪种言语的输入法等。疑问在于:咱们还没有把LANG变量改成英语之前,体系得到的LANG变量是中文的,因而,它晓得需求在图形界面发动过程中启用中文输入法,但把LANG变量改成英文后,体系依据LANG变量晓得体系是英文的,它便不再发动中文输入法,也不再设置和导出关联的变量,致使中文输入法不可用。因而,只需在 http://www.fpshijiazhuang.com/linked/20130311.do 这个脚本中,“骗”过体系,让输入法脚本“认为”体系是中文的,它不就运转中文输入法,并导出关联变量了吗? 所以,经过剖析脚本,我在xinput.sh中的: lang_region=$(echo $tmplang | sed -e 's/\..*//')    后边又增加了 lang_region="zh_CN"   直接把lang_region=$(echo $tmplang | sed -e 's/\..*//') 修改成 lang_region="zh_CN" 也能够   多增加一行是为了今后改过来便利,直接删去增加的一行就能够了。   当然,把for循环中的/etc/X11/xinit/xinput.d/${lang_region}该成   /etc/X11/xinit/xinput.d/zh _CN也能够。   当然还有其他的改法,条件是你要懂得shell 脚本的语法,看得懂脚本的意思。这样修改后,即便体系是英文的,xinput.sh脚本也会去读取/etc/X11/xinit/xinput.d/zh _CN 文件并导出其间的内容、设置好XMODIFERS等输入法变量,并运转iiimx输入法程序。   那么为什么不在图形界面发动后直接运转iiimx输入法程序呢?试验一下就晓得,这根本不可。由于输入法程序是须要和被输入的应用程序合作运转的软件,在运转过程中需求导出许多变量。直接运转iiimx只运转了主程序,而没关联变量,没办法和应用程序合作完结输入作业。   完结修改作业后,保管脚本文件。输入startx指令发动图形界面,就能够用全英文的体系界面和中文输入法了。但需求注重的是:由于体系是全英文的,默许输入法也是英文,经过GNOME或许KDE菜单起动的应用程序第一次输入中文的时分不能按ctrl 空格来切换到中文,需求用鼠标在任务栏上点击输入法图标切换,第一次切换后今后就能够用ctrl 空格快捷键来切换中英文输入法了。   四,一些后续疑问   某些软件,比方Open Office,经过GNOME或许KDE菜单发动的话,即便切换到中文输入法也输不进中文,这是由于整个桌面体系的环境是英文的,软件“承继”了英文环境的关联变量,这些软件就“认死理”,就是不让输入中文,这时分能够翻开一个gnome终端,把LANG变量暂时设置成zh_CN.UTF-8 :   [root@gucuiwen ~]# LANG="zh_CN.UTF-8"   然后在这个gnome终端中,用指令翻开open office:   [root@gucuiwen ~]# oowriter  http://www.kp1234.info/linked/20130311.do 
posted @ 2013-03-12 02:39  chinadiy197601  阅读(230)  评论(0编辑  收藏  举报