Linux下中文问题的若干解决方案
时间:2006-11-08 来源:mishuang
好多天都登录不上blog,今天终于可以了,就把这几天Linux中文问题的一些解决方案写一下。
首先说一下GB2312,GBK(GB13000)和GB18030的问题。GB2312是80年的标准,只支持几千个汉字,GBK是93年的标准,支持 的多一些,为了解决从本地化到国际化的问题,2000年又出了GB18030标准。这三种编码基本上是一脉相承的。
我们实验室有一台Red Hat 9的Samba服务器,中文编码是GB18030,文件大多是从windows里面拷过来的,少数是我从Linux下拷过去的。如果直接用 SuSE10.0自带的samba客户端连接是乱码,可以直接用下面的命令挂载:
mount -t smbfs -o username=ms,password=123456,iocharset=gb18030 //ChinaGrid/PersonalWork /mnt/PersonalWork
gb18030替换为gb2312是不可以的。
以前挂载U盘也是乱码,现在明白了,U盘上的内容是从windows里面拷过来的,编码是GB2312,而我的SuSE10.0默认是UTF-8的编码,所有用下面的命令挂载:
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb
用cvs的时候,别人都是从windows里上传的,内容和目录都是GB2312的,直接用cvs get Model得到的是GB2312的编码,在LANG=zh_CN.UTF-8的console下看当然是乱码。可以使用下面的命令改变变量LANG的值
export LANG=zh_CN.GB2312
然后,Settings->encoding改为gb2312就可以了。
首先说一下GB2312,GBK(GB13000)和GB18030的问题。GB2312是80年的标准,只支持几千个汉字,GBK是93年的标准,支持 的多一些,为了解决从本地化到国际化的问题,2000年又出了GB18030标准。这三种编码基本上是一脉相承的。
我们实验室有一台Red Hat 9的Samba服务器,中文编码是GB18030,文件大多是从windows里面拷过来的,少数是我从Linux下拷过去的。如果直接用 SuSE10.0自带的samba客户端连接是乱码,可以直接用下面的命令挂载:
mount -t smbfs -o username=ms,password=123456,iocharset=gb18030 //ChinaGrid/PersonalWork /mnt/PersonalWork
gb18030替换为gb2312是不可以的。
以前挂载U盘也是乱码,现在明白了,U盘上的内容是从windows里面拷过来的,编码是GB2312,而我的SuSE10.0默认是UTF-8的编码,所有用下面的命令挂载:
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb
用cvs的时候,别人都是从windows里上传的,内容和目录都是GB2312的,直接用cvs get Model得到的是GB2312的编码,在LANG=zh_CN.UTF-8的console下看当然是乱码。可以使用下面的命令改变变量LANG的值
export LANG=zh_CN.GB2312
然后,Settings->encoding改为gb2312就可以了。
相关阅读 更多 +