上兵伐谋

“上兵伐谋,其次伐交,其次伐兵,其下攻城”。
posts - 35, comments - 32, trackbacks - 0, articles - 3

关于Linux系统字符集的选择

Posted on 2005-05-22 15:52 Kylin Bell 阅读(11195) 评论(0)  编辑 收藏 引用

这是系统安装后设置的第一步。

网上各个中文Linux社区有相当多关于此的讨论,大多数使用者为了获得完善的中文显示效果,以及为了保持和Windows的兼容(主要是指已挂载的Windows分区的正确显示),通常会选择gb2312或者gb18030作为系统默认字符。

但是,使用Unicode编码是当前计算机操作系统的趋势。作为一个计算机的多位字符表示系统,Unicode 支持世界上所有语言的编码和转换。Unicode 并不只是一个编程工具,它还是一个政治的、经济的工具。没有结合世界的语言支持的应用程序通常只能被那些能读写 ASCII 所支持语言的个人使用。这使得建立在 ASCII 基础之上的计算机技术脱离了世界上大部分人。Unicode 允许程序使用世界上任何一种字符集,因此它支持所有语言。Linux 承担了对 Unicode 很大程度上的支持。Unicode 支持被嵌入到内核和代码开发库中。

事实上,使用Unicode也能使我们更容易实现对英语以外的其他语言的支持。并且能够实现更高程度上的兼容性。

强烈建议中文的Linux使用者以Unicode(UTF-8)作为系统的默认字符集。


下面是Redhat Enterprise Linux AS 4.0发行注记中关于系统本地化设置的说明:

########################################################
对中文,日文和韩文的 UTF-8 支持

当系统从 红帽企业 Linux 3 升级到 红帽企业 Linux 4 时,系统的本地化设置被保留了。因为在默认的情况下,红帽企业 Linux 4 支持中文,日文和韩文的 UTF-8 码,Red Hat 建议您通过编辑如下的文件来使用 UTF-8 码:

/etc/sysconfig/i18n

通过以下的改变来修改系统的本地化设置:

  • ja_JP.eucJP 变为 ja_JP.UTF-8

  • ko_KR.eucKR 变为 ko_KR.UTF-8

  • zh_CN.GB18030 变为 zh_CN.UTF-8

  • zh_TW.Big5 变为 zh_TW.UTF-8

使用在 ~/.i18n 中的本地化设置的用户应该在默认的情况下升级到使用 UTF-8 码。

iconv 工具可以被用来把使用原始编码(例如 eucJP, eucKR, Big5, or GB18030)的文件转换成为UTF-8 编码:

iconv -f <native encoding> -t UTF-8 <filename> -o <newfilename>
######################################################


以下是的我的Redhat Enterprise Linux AS 4中/etc/sysconfig/i18n的内容:

######################################################
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
######################################################

SuSE Linux Profeesional 9.3默认也使用UTF-8作为系统字符集。

有兴趣的人可以阅读以下文章:

Linux Unicode 编程

中文化与GB18030标准

Linux 国际化本地化和中文化

只有注册用户登录后才能发表评论。