今天在写java程序读取文本文件的时候读出的不是自己想要的,于是看了下字符集与编码方面的文章。
有些疑问如下:
1:ubuntu 支持字符集的查看命令是否是 locale -m
2: ubuntu locale设置中的LANG=zh_CN.GBK,这里zh是否是中文的意思,GBK是相应的字符集,那意思就是说
系统内部中文显示是用GBK字符集的,还是说系统是用GBK来处理一般的文件读取呢?
系统/usr/lib/locale 目录中有许多字符集文件,类似与zh_CN.GBK,这些文件是否是表示系统支持的字符集文件?
而 /var/lib/locales/supported.d 目录下有 ar bn de en es fr hi local pt xh zh 文件,这些文件对应了
是什么意思呢?我在网上搜索的关于设置locale的问题,有的说要改local,zh,en文件呢,而有的只说了需要改zh文件
再这些文件后面加上你要支持的字符集。
3:我的samba经常出现乱码,samba里的设置display charset = UTF-8,unix charset = UTF-8,dos charset = UTF-8这3个项目对应的是什么意思?
4:我将机器locale以前在zh_CN.UTF-8下,没有乱码目录,改成zh_CN.GB18030,为什么文件名会出现乱码呢,
GB18030是兼容GBK和GB2312的,是超集,为什么还有中文乱码?
我的locale
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=zh_CN.GB18030
总之,对于Linux对字符的处理上真是太难理解了,恳请有高手给我说下原理。。
关于ubuntu7.10字符集与编码的疑问
-
- 帖子: 23
- 注册时间: 2007-11-20 14:10