Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1969342
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: LINUX

2010-06-17 10:45:18

一。linux系统的默认编码设置。
/etc/sysconfig/i18n
Controls the system font settings. The language variables are used in /etc/profile.d/lang.sh. An example i18n file:
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"
以上是把系统的默认字符集设置为GB2312.现在很多系统默认编码字符集是UTF-8。可以通过设置这个文件来改变系统的默认字符集。

另外,也可在用户的环境变量或者用户的环境变量文件加入路径变量的声明:
在系统的预处理文件中声明,这样对整个系统起作用:
   #vi /etc/profile
   在文件尾加入
   LC_ALL="zh_CN.GBK"
   export LANG="zh_CN.GBK"
在用户的预处理文件中声明,对单独的用户起作用:
   #vi /root/.bash_profile
   在文件尾加入
   export LC_ALL="zh_CN.GBK"
   export LANG="zh_CN.GBK"

以上配置重新启动服务器使更改生效。

为什么要选择gbk呢 ?
gb18030是国家法定的编码标准,而gb2312是传统的编码标准,utf-8是流传最广的编码标准.
GB18030是gb中最大的一个字符集,但是我发现有些版本的linux对其支持有些问题,gbk是比2312大的字符集,比较实用,utf8因为相对与中文系统传统编码转换问题,也不是很方便,当然,国际化的话还是需要改。

二。查看系统当前字符集。
  直接查看操作系统环境变量里面关于系统字符集的内容即可   
  SHELL命令 env 可以查看系统环境变量;   
  字符集的内容就在env的结果里面,可以用 env|grep LANG 直接得到。   
  在内核中选择,然后重新编译内核。

三。安装字体。
#mkdir 要存放字体的文件夹
#cp *.ttf 刚才创建的文件夹
生成 fonts.dir 文件
#ttmkfdir > fonts.dir
注:mkfontdir 用于生成点阵字体的 fonts.dir 文件,ttmkfdir 用于生成 TrueType 字体的 fonts.dir 文件。由于 ttmkfdir 不能识某些汉字TTF的编码,需手工修改。
生成的 fonts.dir 如下:
fonts.dir
======
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
改为:
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
生成 fonts.alias 文件
#cat fonts.dir > fonts.alias
将 fonts.alias 内容改为:
SimSun -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
将字体的路径添加的FontPath中
#vi /etc/X11/XF86Config
在此文件中添加刚才创建的路径
#step
#fc_cache 刚才创建的路径,强制刷新字体缓存,使字体生效。

四。vim编码。
encoding—-该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等。你可以把 ‘encoding’ 选项当作是对 Vim 内部运行机制的设定。
fileencoding—-该选项是vim写入文件时采用的编码类型。
termencoding—-该选项代表输出到客户终端(Term)采用的编码类型。
此3个变量的默认值:
encoding—-与系统当前locale相同,所以编辑文件的时候要考虑当前locale,否则要设置的东西就比较多了。
fileencoding—-vim打开文件时自动辨认其编码,fileencoding就为辨认的值。为空则保存文件时采用encoding的编码,如果没有修改encoding,那值就是系统当前locale了。
termencoding—-默认空值,也就是输出到终端不进行编码转换。

阅读(1919) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~