实用技巧:解决Samba和Shell的中文问题

来源:岁月联盟 编辑:zhuzhu 时间:2008-01-31
实用技巧:解决Samba和Shell的中文问题内容简介:Linux服务器下有时候会出现下列问题: (1)通过samba上传的文件有时候会在ftp或shell里面无法正常显示 (2)同时,通过ftp上传的文件也会在samba里面无法正常显示,怎么回事呢? 原因是他们的字符集不同。 解

Linux服务器下有时候会出现下列问题:

(1)通过samba上传的文件有时候会在ftp或shell里面无法正常显示

(2)同时,通过ftp上传的文件也会在samba里面无法正常显示,怎么回事呢?

原因是他们的字符集不同。

解决办法:

第一步,确定shell中语言为中文,查看方法

echo $LANG

假如显示为zh_CN.*****,则基本没有问题,可跳过此步。假如为en_US.****,则要改为中文,方法为在/etc/sysconfig/i18n 设置

LANG="zh_CN.GBK"、LANG="zh_CN.GB2312"、LANG="zh_CN.GB18030"或者LANG="zh_CN.UTF-8"

或者直接export LANG=zh_CN.GBK,具体方法可参考linux的一些设置

第二步,也是最要害的一步,是改smb.conf设置:在[global]域中加入一下代码

shell charset= cp936display charset= cp936dos charset= cp936unix charset= cp936client code page = 936character set = 936

这样在shell下建立的中文文件名samba可以正常看到,samba建立的中文文件名shell下也可以正常显示,大部分ftp没有自己的字符集转化系统,使用shell的。

所以一般不用非凡设置,假如需要,按照这个思路也应该可以的。