才子佳人博客

我的故事我讲述

linux中文乱码问题解决办法
 
来源:xjh  编辑:xjh  2009-09-10

汉字编码:

GB2312字集是简体字集,全称为GB2312(80)字集,共包括国标简体汉字6763个。

BIG5字集是台湾繁体字集,共包括国标繁体汉字13053个。

GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符号,共包括21003个字符。

GB18030是国家制定的一个强制性大字集标准,全称为GB18030-2000,它的推出使汉字集有了一个“大一统”的标准。

ASCII:

American Standard Code for Information Interchange,美国信息交换标准码。 目前计算机中用得最广泛的字符集及其编码,由美国国家标准局(ANSI)制定。 它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。 ASCII字符集由控制字符和图形字符组成。 在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。

UTF:

Unicode 的实现方式不同于编码方式。 一个字符的Unicode编码是确定的,但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。 Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。

* UTF-8: 8bit变长编码,对于大多数常用字符集(ASCII中0~127字符)它只使用单字节,而对其它常用字符(特别是朝鲜和汉语会意文字),它使用3字节。

* UTF-16: 16bit编码,是变长码,大致相当于20位编码,值在0到0x10FFFF之间,基本上就是unicode编码的实现,与CPU字序有关。

注意:兼容性最好的编码就是UTF-8! 毕竟GBK/GB2312是国内的标准,当我们大量使用国外的开源软件时,UTF-8才是编码界最通用的语言。

具体解决办法如下:

1、console终端乱码
  在/etc/profile文件的最后一行添加如下内容:
  export LC_ALL="zh_CN.GB18030"
2、xwindow终端乱码
  在/etc/sysconfig/i18n文件的最后一行添加如下内容:
  export LC_ALL="zh_CN.GB18030"
3. 修改i18n文件

vi /etc/sysconfig/i18n
将内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

之后重启机器,这样中文在SSH,telnet终端就可以正常显示了。

参考:
http://linux.chinaunix.net/techdoc/desktop/2008/07/25/1020284.shtml

http://blog.chinaunix.net/u3/93926/showart_1873370.html


分类:网络日志| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: