CRT(secureCRT)中文显示研究&Linux中文字符显示

关于secureCRT设置编码

基本上只需要设置crt字符编码与远程服务器一致就可以了。要注意的是,有时设置完之后要重启secureCRT, 不然不会生效。

 

Linux字符集设置

说到字符集不得不说Linux的国际化和本地化。

国际化字符集配置文件:

/etc/sysconfig/i18n  (i18n 原名:internationalization 前后两个字符中间刚好18个字符)

本地化字符集配置文件:

l10n (l10n 原名:localization 前后两个字符中间刚好10个字符,位置在哪里,我没找到)

国际化的概念,我的理解是一套标准,通过这套标准,进行开发和配置可以很方面的实现各种本地化处理(像字符集)。有了国际化,当需要把某个软件或应用进行本地化处理时,就不需要再进行重构。简单的像:一个纯英文的软件,菜单都是英文的,到中国来,你总不能就这么拿去卖,那有多少人看不懂, 至少要把菜单转化为中文吧。如果菜单的字符都是硬编码到程序里,那完了,你要从源码一个一个重新修改这些字符把所有的exit变成退出,然后重新编译。这有多痛苦,想想就知道,而且只是修改菜单而已。如果是通过配置文件,比如有一个语言配置文件,事情就简单多了。换一个配置文件就可以了。也不用重构这个软件了。

本地化:可以简单的理解,把英文转化成国人看得懂的中文。

知识点:

使用locale查看当前本地化环境变量:

清单 1. 系统当前 locale 环境变量值
 $ locale 
 LANG=en_US.UTF-8                    # 未设置任何 LC_xxx 变量时所使用的默认值
 LC_CTYPE=zh_CN.UTF-8                # 指定使用某区域的字符分类及处理方式
 LC_NUMERIC="en_US.UTF-8"            # 指定使用某区域的非货币的数字格式
 LC_TIME="en_US.UTF-8"               # 指定使用某区域的日期和时间格式
 LC_COLLATE="en_US.UTF-8"            # 指定使用某区域的排序规则
 LC_MONETARY="en_US.UTF-8"           # 指定使用某区域的货币格式
 LC_MESSAGES="en_US.UTF-8"           # 指定使用某区域的响应与信息的格式
 LC_PAPER="en_US.UTF-8"              # 指定使用某区域的纸张大小
 LC_NAME="en_US.UTF-8"               # 指定使用某区域的姓名书写方式
 LC_ADDRESS="en_US.UTF-8"            # 指定使用某区域的地址格式和位置信息
 LC_TELEPHONE="en_US.UTF-8"          # 指定使用某区域的电话号码格式
 LC_MEASUREMENT="en_US.UTF-8"        # 指定使用某区域的度量衡规则
 LC_IDENTIFICATION="en_US.UTF-8"     # 对 locale 自身信息的概述
LC_ALL= # 用来覆盖掉所有其他 LC_xxx 变量的值

注意环境变量的使用优先顺序

清单 2. locale 相关变量使用时的优先顺序
 [1] LANGUAGE 
 [2] LC_ALL 
 [3] LC_xxx 
 [4] LANG

 通常只要在登入shell里面设置LANG为本地化, 一般通过设置用户的 ~/.login_conf 或用户shell的启动文件(~/.profile~/.bashrc, ~/.cshrc)。

 

参考资料

http://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/

http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/l10n.html

posted @ 2014-01-06 10:17  luffy_zhong  阅读(1054)  评论(0编辑  收藏  举报