- 论坛徽章:
- 0
|
一点个人总结 也不知道对不对.
1.LANG 是控制 环境的语言的.
比如 df 如果LANG 是英文 显示的是
Filesystem 1K-blocks Used Available Use% Mounted on
如果LANG 是中文 显示的是
Filesystem 1K-块 已用 可用 已用% 挂载点
2.LANG 也需要编码比如zh_CN.GB2312 GB2312就是编码. 这是是因为终端的原因.
比如putty因为 终端的编码是ascii. 所以如果LANG用的是zh_CN.UTF-8 df显示的时候还是乱码
因为服务端传来的是utf-8编码.putty无法识别.所以是乱码.
putty是没有unicode的所以有了pietty. pietty设置成Unicode就可以看UTF-8编码的目录和文件名了
3.使用putty的时候 LANG 无论设置成en_US.UTF-8和zh_CN.UTF-8都会有一些乱码出现.
可以使用ascii 和 或者和ascii兼容的gb2312 以及 GBK等.
4./etc/sysconfig/i18n 会overide /etc/profile 以及用户自己的初始化文件的中的LANG以及LC_CTYPE变量
它是最后生效的.但是登录后用户自己export的变量会overidei18n.
5.LC_CTYPE的意思是locale的使用的字符
还有数字 (LC_NUMERIC),比较和排序习惯(LC_COLLATE),时间显示格式(LC_TIME),货币单位(LC_MONETARY)等
对于终端要显示utf-8编码中文文件名(目录名) 需要LC_CTYPE 为任何一个utf-8 就可以 .
但对于 FlashFXP(目前只能显示GB2312) 来说,是不用设置LC_CTYPE的.
(一个 问题 zh_CN.UTF-8和zh_TW.UTF-8有什么区别呢? 都是utf-8的编码. 浏览器就只有一个UTF-8编码的选项 没有zh_CN.UTF-8和zh_TW.UTF-8的选项)
无论linux还是freebsd
当没有LC_ALL的环境变量的时候
LC_CTYPE 控制的是文件名的编码方式 LANG控制的环境显示(date df命令等).
当LC_ALL有的时候.就override LC_CTYPE 和LANG了.
总之 其他都不要 只要 LC_CTYPE设置成任何的一个UTF-8, 然后pietty设置成Unicode 就可以看 utf-8编码的中文目录了.
要看gb1232编码的中文目录 只要
LC_ALL=en_US.ISO8859-1 或者zh_CN.GB2312
或者没有LC_ALL的环境变量 只要LC_CTYPE 设置成 en_US.ISO8859-1 或者zh_CN.GB2312 |
|