CentOS解决中文字体乱码的问题

作者:我就是个世界 发表于:2012-02-21

一:所谓的internationalization(国际化),简称i18n。
在redHat和FC系列Linux系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下:

LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。
  这些变量中LANG变量是在字符模式和图形界面下都用到的,在你登录系统后就被读取并生效,相信很多人在字符界面下输入Linux命令的时候经常会遇到显示出来的出错信息是乱码的情况,必需安装zhcon或者cce等字符模式下的中文软件才能正常显示中文的出错信息。[separator]

二: 关于运行等级
  现在的linux安装完成后,默认就运行在第5个系统运行级别。在SYSTEM V 风格的UNIX系统中,系统被分为不同的运行级别,这和BSD分支的UNIX有所不同,常用的为0~6七个级别:
  0 关机
  1 单用户
  2 不带网络的多用户
  3 带网络的多用户
  4 保留,用户可以自给定义
  5 图形界面的多用户
  6 重起系统
直接图形登录到系统确实会有很多问题,建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
  用文本编辑器修改 /etc/inittab文件 ,把

id:5:initdefault:

  这一行,修改成

id:3:initdefault:

  保存后就重起,系统就默认起动到字符界面。不同运行级别之间的差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。

三、中文输入法:
对系统的认识是从底部向上开始的。
  先把默认运行级别修改成3级别,当然,如果你实在不想修改,就临时用init 3命令切换到第3级。
  这样你就可以用startx起动图形界面,然后用ctrl+alt+backspace退出图形界面。请注意我说的是“退出”图形界面,而不是按ctrl+alt+F2切到一个字符终端。(如果你有空把/etc/rc.d目录下的系统起动时运行的脚本通读一遍,就完全知道了/etc下的各种配置文件是用来干什么的、如何修改、修改后有什么效果等等。)

四、 一些后续问题
  某些软件,比如Open Office,通过GNOME或者KDE菜单启动的话,即使切换到中文输入法也输不进中文,这是因为整个桌面系统的环境是英文的,软件“继承”了英文环境的相关变量,这些软件就“认死理”,就是不让输入中文,这时候可以打开一个gnome终端,把LANG变量临时设置成zh_CN.UTF-8 :

  [root@gucuiwen ~]# LANG="zh_CN.UTF-8"

  然后在这个gnome终端中,用命令打开open office:

  [root@gucuiwen ~]# oowriter &

  这样Open Office就“继承”了gnome终端的LANG变量,起动后,工具栏和菜单等都是中文的,而且能输入中文。推而广之,任何软件都可以用这种方法,根据需要,打开中文界面的软件和英文界面的软件。要以英文界面运行软件时,只要从GNOME或者KDE菜单打开,要用中文界面运行软件时,在终端中修该LANG变量,从修改过LANG变量的终端中通过命令运行即可。当然,如果你还安装了其他语言的字体,你还可以以其他语言的界面来运行程序。如日语:

  [root@gucuiwen ~]# LANG="ja_JP.UTF-8"
  [root@gucuiwen ~]# gedit &

  我用上面的两条命令打开的gedit 编辑器就是全日语界面的,但是能输入中文和英文,并显示日文。

 五, 快速设置步骤:
  1.修改/etc/sysconf/i18n文件,把

LANG="zh_CN.UTF-8"

  修改成:

LANG="en_US.UTF-8"

  2.修改/etc/X11/xinit/xinitrc.d/xinput.sh文件,把其中一行:

lang_region=$(echo $tmplang | sed -e 's/\..*//')

  修改成:

lang_region=”zh_CN”

  3,重新启动图形界面,就可以用英文的界面并且正确显示中文和输入中文。

====================分隔符======================


CentOS中的中文乱码问题的解决[转自百度文库]

linux 2010-04-30 23:27:32 阅读271 评论0

在使用CentOS系统时,安装的时候可能你会遇到英文的CentOS系统,在这中情况下安装CentOS系统时是默认安装(即英文)。
安装完毕后,出现的各种中文乱码。那么,我们如何解决这种问题呢。

一、CentOS系统访问 g.cn ,发现中文乱码。

于是用以前的方式:yum  –y  install  fonts-chinese

CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。

后来,终于找到以下方法可以解决,需要两个中文支持的包:

fonts-chinese-3.02-12.el5.noarch.rpm

ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm

fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

一个是中文字体,一个是字体显示包。

下载后,在命令行安装:

#rpm -ivh XXXX ( XXXX 代表上面那两个包的全名, rpm 不会不知道怎么用吧?)

CentOS系统安装完成后,重新启动即可。

二、终端、 gedit 显示乱码

#vi /etc/sysconfig/i18n

将LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

修改原内容为

LANG="zh_CN.GB18030"
 
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
 
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
 
SYSFONT="lat0-sun16"

用 yum 安装中文字体

#yum install fonts-chinese.noarch

system  ->  logout  注销
重新登录CentOS系统时,你会发现,所有界面已从英文变成中文。在终端输入 date 命令测试

#date

2009 年 11 月 24 日 星期一 12:07:00 CST
三、在 ssh , telnet 终端中文显示乱码解决办法( CentOS 5.3 )

#vi /etc/sysconfig/i18n

将原内容 LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

修改为

LANG="zh_CN.GB18030"
 
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
 
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
 
SYSFONT="lat0-sun16"

用 yum 安装中文字体

#yum  install  fonts-chinese.noarch

断开 ssh ,重新连
在终端输入 date 命令测试

#date

2009 年 11 月 24 日 星期一 12:09:00 CST
四、在CentOS系统 5.3 中使用中文输入法
我以前的方法是安装企鹅版 ,见下一页 。 在此,还有一个更简单的,只要使用 yum 安装 SCIM 即可。
命令行输入:

#yum install scim
#yum install scim-pinyin

重启动X(按Ctrl+Alt+Backpace)或注销(logout)。
好了,可以输入中文了。CentOS系统出现中文乱码的问题就这样解决了。

分享:

扫一扫在手机阅读、分享本文

请发表您的评论