第一步:安装locale

vi /etc/default/locale
LANG="zh_CN.gb2312"
 

cd /usr/share/locales
ls
install-language-pack  remove-language-pack
./install-language-pack zh_CN
Generating locales...
zh_CN.UTF-8... done
Generation complete.
dpkg-trigger: dpkg-trigger must be called from a maintainer script (or with a --by-package option)
 

第二步:在Ubuntu下生成GBK或GB2312的locale

1.修改/var/lib/locales/supported.d/local文件,在文件中添加

zh_CN.GBK GBK

zh_CN.GB2312 GB2312

2.sudo dpkg-reconfigure --force locales

然后在输出的结果中会出现

zh_CN.GB2312 done

zh_CN.GBK done

第三步:修改smb.conf

vi /etc/samba/smb.conf
  根据locales的设置,修改该文件:
  1. 如果locale是zh_CN.UTF-8,做如下设置:
  display charset = UTF-8
  unix charset = UTF-8
  dos charset = UTF-8
  2. 如果locale是zh_CN.GBK或zh_CN.gb2312,做如下设置:
  display charset = cp936
  unix charset = cp936
  dos charset = cp936
  重启samba:
  service samba restart
  则无论从windows的网上邻居,还是直接用securecrt登陆,均可显示正常中文.