免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1585 | 回复: 0
打印 上一主题 下一主题

我个人关于字符集的认识总结,欢迎大家讨论 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-26 11:57 |只看该作者 |倒序浏览
一点个人总结 也不知道对不对.
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP