今天在配置samba服务的时候碰到一个问题,就是Linux与windows在使用samba服务时会出现字符集的问题。
我先把配置报一下,samba搭建在64位的centos6.5上,客户机是32位windows7中文简体旗舰版。我们在Linux机器间相互上传下载文件一般是不会出现问题的,当然说的是我目前没碰到过。我们开始实验linux与windows之间的文件传输。
1.打开win下的运行,输入目标IP和samba的user,passwd
2.在目录下创建一个新的txt文件,输入中文
3.到xshell下查看该文件
可以看到在Xshell下,它显示的乱码方块
4.我们在到系统终端上看
可以看到windows下上传的文件时中文乱码的,查看centos的语言环境
[root@xiayun ~]# echo $LANG
zh_CN.UTF-8
查看Xshell的语言环境是UTF-8,而windows7中文简体的语言环境是GBK,说到底,就是因为语言环境不一样。
解决方法:①vim /etc/samba/smb.conf②在[global]下添加dos charset = CP936;display charset = CP936,(CP936是GBK),保存退出。还少一步,xshell上把语言环境也改成GBK,查看下文件,,可以看到正常显示了。其实在Xshell下,只要把语言环境改成GBK就可以正常显示了,但是centos的系统语言环境是zh_CN.UTF-8,Xshell查看系统其它中文字体的时候就不正常显示。
linux与windows之间的文件传输是要注意字符集问题的!